Submission
Status:
[PPPPPPPPPPPPxSS]
Subtask/Task Score:
{0/100}
Score: 0
User: yypp
Problemset: fireball
Language: cpp
Time: 0.257 second
Submitted On: 2026-03-25 16:21:18
#include <bits/stdc++.h>
using namespace std;
int mp[105][105];
queue<pair<int,int> > qe;
int wx[] = {1,-1,0,0};
int wy[] = {0,0,1,-1};
int main() {
int n,m,q,con=0,x,y,nx,ny,ix,iy;
cin >> n >> m >> q;
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++) {
cin >> mp[i][j];
if (mp[i][j]==1) {
con++;
}
}
}
for (int i=0;i<q;i++) {
cin >> x >> y;
if (mp[x][y]==0) {
cout << con << "\n"; continue;
}
qe.push({x,y});
while(!qe.empty()) {
nx = qe.front().first; ny = qe.front().second;
qe.pop();
//printf("%d %d\n",nx,ny);
if (mp[nx][ny]==1) {
con--; mp[nx][ny] = 2;
}
for (int i=0;i<4;i++) {
ix = nx+wx[i]; iy = ny+wy[i];
//printf("c %d %d\n",ix,iy);
if (ix>=0&&ix<=n&&iy>=0&&iy<=m&&mp[ix][iy]==1) {
//printf("-> %d %d\n",ix,iy);
qe.push({ix,iy});
}
}
/*
for (int i=1;i<=n;i++) {
for (int j=1;j<=m;j++) {
cout << mp[i][j];
}
cout << "\n";
}
cout << "\n";
*/
}
cout << con << "\n";
}
}