Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: meme_boi2
Problemset: fireball
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-18 15:50:34
#include <bits/stdc++.h>
using namespace std;
int cnt = 0, dx[] = {-1,0,1,0}, dy[] = {0,1,0,-1};
int n, m ,q;
vector<vector<int>> mat(102,vector<int>(102,0));
bool vis[102][102];
void dfs(int i, int j){
vis[i][j] = 1;
cnt--;
for(int k = 0; k < 4; k++){
int x = i + dx[k],y = j + dy[k];
if(!vis[x][y] && mat[x][y] == 1){
dfs(x,y);
}
}
}
int32_t main(){
cin.tie(nullptr)->sync_with_stdio(0);
cin >> m >> n >> q;
for(int i = 1; i <= m; i++){
for(int j= 1; j <= n; j++){
cin >> mat[i][j];
if(mat[i][j] == 1) cnt++;
}
}
while(q--){
int x, y;
cin >> x >> y;
if(!vis[x][y] && mat[x][y] == 1) dfs(x,y);
cout << cnt << '\n';
}
}
/*
c2_knb64_fireball
cd "c:\Users\RICOH-NB110\Desktop\Computer Programing\gchan\" ; if ($?) { g++ c2_knb64_fireball.cpp -o c2_knb64_fireball } ; if ($?) { .\c2_knb64_fireball }
*/