Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Quaoar
Problemset: fireball
Language: cpp
Time: 0.003 second
Submitted On: 2025-12-31 21:48:04
#include <iostream>
using namespace std;
int arr[101][101];
bool visited[101][101];
int n , m , q;
int cnt = 0;
void re(int x , int y){
if (arr[x][y] == 0) return;
if (visited[x][y]) return;
arr[x][y] = 0;
visited[x][y] = true;
if (x - 1 >= 0) re(x - 1 , y);
if (x + 1 < n) re(x + 1 , y);
if (y - 1 >= 0) re(x , y - 1);
if (y + 1 < m) re(x , y + 1);
cnt--;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin >> n >> m >> q;
for (int i = 0 ; i < n ; i++){
for (int j = 0 ; j < m ; j++){
cin >> arr[i][j];
if (arr[i][j] == 1){
cnt++;
}
}
}
int X , Y;
for (int i = 0 ; i < q ; i++){
cin >> X >> Y;
X--;
Y--;
re(X,Y);
cout << cnt << "\n";
}
return 0;
}