Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: Fifaxmb

Problemset: fireball

Language: cpp

Time: 0.002 second

Submitted On: 2026-06-27 11:04:21

#include<bits/stdc++.h>
using namespace std;
using pii = pair<int,int>;
pii dd[] = {{0,-1},{0,1},{1,0},{-1,0}};
int main(){
    ios::sync_with_stdio(0);cin.tie(0);
    int n,m,q;cin >> n >> m >> q;
    int cnt = 0;
    vector<vector<int>> g(n,vector<int> (m));
    vector<vector<bool>> vs(n,vector<bool> (m,0));
    for(auto &i : g){
        for(auto &j : i){
            cin >> j;
            if(j == 1) cnt++;
        }
    }
    for(int i = 0;i < q;i++){
        queue<pii> qq;
        int x,y;cin >> x >> y;
        x--;y--;
        if(g[x][y] == 0){
            cout << cnt << '\n';
            continue;
        }
        cnt --;
        qq.push({x,y});
        vs[x][y] = 1;
        g[x][y] = 0;
        while(!qq.empty()){
            auto [xx, yy] = qq.front();qq.pop();
            // cout << i << ' ' << xx << ' ' << yy << '\n';
            for(int k = 0;k < 4;k++){
                auto[nx,ny] = dd[k];
                nx += xx;ny += yy;
                if(nx < 0 || ny < 0 || nx >= n || ny >= m || !g[nx][ny] || vs[nx][ny]) continue;
                cnt --;
                g[nx][ny] = 0;
                vs[nx][ny] = 1;
                qq.push({nx,ny});
            }
        }
        cout << cnt << '\n';
    }
}