Submission
Status:
[PP-SSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: ssss
Problemset: fireball
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-09 22:11:31
#include<bits/stdc++.h>
using namespace std;
vector<vector<int>>arr,v;
int dx[4] = {1,-1,0,0},dy[4] = {0,0,-1,1},m1=0,n,m;
void dfs(int x,int y){
v[x][y] = 1;
//arr[x][y] = 0;
for(int i=0;i<4;i++){
int nx,ny;
nx = x+dx[i];
ny = y+dy[i];
if(nx>=0&&ny>=0&&nx<n&&ny<m&&v[nx][ny]==0&&arr[nx][ny]==1){
m1++;
dfs(nx,ny);
}
}
}
int main(){
int n1,n2,c=0,ff;
cin>>n>>m>>ff;
arr = vector<vector<int>>(n,vector<int>(m));
v = vector<vector<int>>(n,vector<int>(m));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>arr[i][j];
if(arr[i][j]==1){
c++;
}
}
}
for(int i=0;i<ff;i++){
cin>>n1>>n2;
if(arr[n1-1][n2-1]==1){
m1 = 1;
dfs(n1-1,n2-1);
c-=m1;
cout<<c<<"\n";
}else{
cout<<c<<"\n";
}
}
}