Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: august
Problemset: fireball
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-15 19:52:53
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0)->sync_with_stdio(0);
int n,m,t;
cin>> n>> m>> t;
vector<vector<int>> g(n+1, vector<int>(m+1));
int cnt=0;
for (int i=1; i<=n; i++) for (int j=1; j<=m; j++) cin>> g[i][j], cnt+=g[i][j];
int di[4] = {-1, 0, 1, 0}, dj[4] = {0, 1, 0, -1};
while (t--) {
int si, sj;
cin>> si>> sj;
queue<pair<int,int>> q;
if (g[si][sj]) q.push({si,sj}),cnt--;
g[si][sj]=0;
while (!q.empty()) {
int i=q.front().first, j=q.front().second;
q.pop();
for (int e=0; e<4; e++) {
int ni=i+di[e], nj=j+dj[e];
if (ni<1 || nj<1 || ni>n || nj>m || !g[ni][nj]) continue;
g[ni][nj] = 0;
cnt--;
q.push({ni,nj});
}
}
cout<< cnt<< '\n';
}
}