Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: meme_boi2

Problemset: fireball

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-18 15:50:34

#include <bits/stdc++.h>
using namespace std;
int cnt = 0, dx[] = {-1,0,1,0}, dy[] = {0,1,0,-1};
int n, m ,q;
vector<vector<int>> mat(102,vector<int>(102,0));
bool vis[102][102];
void dfs(int i, int j){
    vis[i][j] = 1;
    cnt--;
    for(int k = 0; k < 4; k++){
        int x = i + dx[k],y =  j + dy[k];
        if(!vis[x][y] && mat[x][y] == 1){
            dfs(x,y);
        }
    }
}
int32_t main(){
    cin.tie(nullptr)->sync_with_stdio(0);
    
    cin >> m >> n >> q;
    for(int i = 1; i <= m; i++){
        for(int j=  1; j <= n; j++){
            cin >> mat[i][j];
            if(mat[i][j] == 1) cnt++;
        }
    }
    while(q--){
        int x,  y;
        cin >> x >> y;
        if(!vis[x][y] && mat[x][y] == 1) dfs(x,y);
        cout << cnt << '\n';
    }
}
/*
c2_knb64_fireball

cd "c:\Users\RICOH-NB110\Desktop\Computer Programing\gchan\" ; if ($?) { g++ c2_knb64_fireball.cpp -o c2_knb64_fireball } ; if ($?) { .\c2_knb64_fireball }
*/