Submission
Status:
[PPPPPPPPPPPPPPP]
Subtask/Task Score:
{100/100}
Score: 100
User: robgornpeunpadpairoundnigumaipadnea
Problemset: fireball
Language: cpp
Time: 0.003 second
Submitted On: 2025-11-22 23:31:39
#include <bits/stdc++.h>
using namespace std;
int n,m,q;
vector<vector<int>> v;
bool visitt[101][101];
int dx[] = {0,-1,1,0},dy[] = {-1,0,0,1};
int cnt = 0;
void walk(int a,int b){
visitt[a][b] = 1;cnt++;
v[a][b]=0;
for(int i=0;i<4;i++){
int cr = a + dx[i];
int cc = b + dy[i];
if(cr>=0&&cr<n&&cc>=0&&cc<m&&!visitt[cr][cc]&&v[cr][cc]==1){
walk(cr,cc);
}
}
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
cin>>n>>m>>q;
v.resize(n,vector<int>(m));
int all=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>v[i][j];
if(v[i][j] == 1)all++;
}
}
while(q--){
int a,b;cin>>a>>b;
a--,b--;
if(v[a][b] == 1)walk(a,b);
cout << all - cnt << '\n';
}
}