Submission
Status:
[xSSSSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: mocngaijakraila
Problemset: fireball
Language: cpp
Time: 0.001 second
Submitted On: 2026-06-28 17:00:04
#include<bits/stdc++.h>
using namespace std;
int N, M, Q, pi, pj, s = 0, mv = 1;
const int C = 1e4 + 1;
int arr[C][C];
int dx[5] = {0, 1, 0, -1, 0};
int dy[5] = {0, 0, -1, 0, 1};
void gox(int mv, int k) {
if(arr[pi + dy[k]][pj + dx[k] * mv] == 0) {
return;
}
s--;
gox(mv + 1, k);
}
void goy(int mv, int k) {
if(arr[pi + dy[k] * mv][pj + dx[k]] == 0) {
return;
}
s--;
goy(mv + 1, k);
}
int main() {
cin.tie(NULL)->sync_with_stdio(false);
cin >> N >> M >> Q;
for(int i = 0; i <= N + 1; i++) {
for(int j = 0; j <= M + 1; j++) {
if(i == 0 || j == 0 || i == N + 1 || j == M + 1) arr[i][j] = 0;
else {
cin >> arr[i][j];
if(arr[i][j] == 1) s++;
}
}
}
while(Q--) {
cin >> pi >> pj;
if(arr[pi][pj] == 1) {
// cout << arr[i][j] << '\n';
for(int k = 0; k < 5; k++) {
if(k == 0) {
arr[pi][pj] = 0;
s--;
}
else {
if(dx[k] != 0) {
gox(mv, k);
}
else {
goy(mv, k);
}
}
// cout << arr[i + dy[k]][j + dx[k]] << ' ';
// if(arr[pi + dy[k]][pj + dx[k]] == 1) {
// arr[pi + dy[k]][pj + dx[k]] = 0;
// s--;
// }
}
// cout << '\n';
}
cout << s << '\n';
}
return 0;
}