Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: devilpoohs
Problemset: fireball
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-05 16:33:23
#include<bits/stdc++.h>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m,q;
cin>>n>>m>>q;
bool vis[n][m];
int cnt=0,a;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>a;
if(a==1) cnt++;
vis[i][j]=a;
vis[i][j]=!vis[i][j];
}
}
int ii,jj;
for(int i=0;i<q;i++){
cin>>ii>>jj;
ii--;
jj--;
queue<pair<int,int>> q;
q.emplace(ii,jj);
while(!q.empty()){
auto cur=q.front();
q.pop();
int curi=cur.first;
int curj=cur.second;
if(vis[curi][curj]) continue;
int dii[4]={0,0,1,-1};
int dij[4]={1,-1,0,0};
vis[curi][curj]=true;
cnt--;
for(int k=0;k<4;k++){
int ni=curi+dii[k];
int nj=curj+dij[k];
if(ni>=0 and ni<n and nj>=0 and nj<m){
q.emplace(ni,nj);
}
}
}
cout<<cnt<<'\n';
}
}