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';
    }
}