Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: august

Problemset: fireball

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-15 19:52:53

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

int main() {
    cin.tie(0)->sync_with_stdio(0);
    int n,m,t;
    cin>> n>> m>> t;

    vector<vector<int>> g(n+1, vector<int>(m+1));

    int cnt=0;
    for (int i=1; i<=n; i++) for (int j=1; j<=m; j++) cin>> g[i][j], cnt+=g[i][j];

    int di[4] = {-1, 0, 1, 0}, dj[4] = {0, 1, 0, -1};

    while (t--) {
        int si, sj;
        cin>> si>> sj;

        queue<pair<int,int>> q;
        if (g[si][sj]) q.push({si,sj}),cnt--;
        g[si][sj]=0;
        
        while (!q.empty()) {
            int i=q.front().first, j=q.front().second;
            q.pop();

            for (int e=0; e<4; e++) {
                int ni=i+di[e], nj=j+dj[e];
                if (ni<1 || nj<1 || ni>n || nj>m || !g[ni][nj]) continue;

                g[ni][nj] = 0;
                cnt--;
                q.push({ni,nj});                
            }
        }
        cout<< cnt<< '\n';
    }
}