Submission

Status:

[PP-SSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: hanapiyajong

Problemset: fireball

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-09 23:02:44

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

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

int main() {
    ios_base::sync_with_stdio(0),cin.tie(0);
    int qq;
    cin >> n >> m >> qq;
    vector<vector<int>> vv(n,vector<int>(m));
    for (int i = 0; i < n ;i++){
        for (int j = 0; j < m; j++){
            cin >> vv[i][j];
        }
    }
    queue<pair<int,int>> q;
    int x,y;
    for (int i = 0; i < qq; i++){
        cin >> x >> y;
        q.push({x-1,y-1});
        auto v = vv;
        while (!q.empty()) {
            auto [i,j] = q.front();
            q.pop();
            if(v[i][j] != 1) continue;
            if(v[i][j] == 1) v[i][j] = -1;
            for (int d = 0; d < 4; d++){
                int ni = i + di[d];
                int nj = j + dj[d];
                if(ni <  0 || nj < 0 || ni >= n || nj >= m) continue;
                if(v[ni][nj] == 1) {
                    q.push({ni,nj});
                }
            }
        }
        int ct = 0;
        for (int i = 0; i < n; i++){
            for (int j = 0; j < m; j++){
                if(v[i][j] == 1) ct++;
            }
        }
        cout << ct << endl;
    }
}