Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: mightbeputter

Problemset: fireball

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-28 15:26:40

#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int a[101][101];

int dih[] = {0,1,0,-1};
int djh[] = {-1,0,1,0};

int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    int n,m,q;
    cin >> n >> m >> q;
    int cnt = 0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin >> a[i][j];
            if(a[i][j]==1) cnt++;
        }
    }
    queue<pair<int,int>> qu;
    while(q--){
        int x,y;
        cin >> x >> y;
        qu.push({x,y});
        while(!qu.empty()){
            int i = qu.front().first;
            int j = qu.front().second;
            qu.pop();
            if(a[i][j]==1){
                cnt--;
                a[i][j] = 0;
                for(int d=0;d<4;d++){
                    int ii = i+dih[d];
                    int jj = j+djh[d];
                    if(a[ii][jj]==1) qu.push({ii,jj});
                }
            }
        }
        cout << cnt << "\n";
    }
    return 0;
}