Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: Fifaxmb
Problemset: fireball
Language: cpp
Time: 0.002 second
Submitted On: 2026-06-27 11:04:21
#include<bits/stdc++.h>
using namespace std;
using pii = pair<int,int>;
pii dd[] = {{0,-1},{0,1},{1,0},{-1,0}};
int main(){
ios::sync_with_stdio(0);cin.tie(0);
int n,m,q;cin >> n >> m >> q;
int cnt = 0;
vector<vector<int>> g(n,vector<int> (m));
vector<vector<bool>> vs(n,vector<bool> (m,0));
for(auto &i : g){
for(auto &j : i){
cin >> j;
if(j == 1) cnt++;
}
}
for(int i = 0;i < q;i++){
queue<pii> qq;
int x,y;cin >> x >> y;
x--;y--;
if(g[x][y] == 0){
cout << cnt << '\n';
continue;
}
cnt --;
qq.push({x,y});
vs[x][y] = 1;
g[x][y] = 0;
while(!qq.empty()){
auto [xx, yy] = qq.front();qq.pop();
// cout << i << ' ' << xx << ' ' << yy << '\n';
for(int k = 0;k < 4;k++){
auto[nx,ny] = dd[k];
nx += xx;ny += yy;
if(nx < 0 || ny < 0 || nx >= n || ny >= m || !g[nx][ny] || vs[nx][ny]) continue;
cnt --;
g[nx][ny] = 0;
vs[nx][ny] = 1;
qq.push({nx,ny});
}
}
cout << cnt << '\n';
}
}