Submission

Status:

[PP-SSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: Kitsunox

Problemset: fireball

Language: cpp

Time: 0.004 second

Submitted On: 2025-12-27 22:33:51

#include <bits/stdc++.h>
using namespace std;
int vs[105][105];
int mp[105][105];
int n,m,q,ci;

void mark(int a,int b){
    if(mp[a][b] == 0)return;
    if(vs[a][b] == 0)ci--;
    vs[a][b] = 1;
    if(vs[a+1][b] == 0 && mp[a+1][b] == 1)ci--;
    vs[a+1][b] = 1;
    if(vs[a-1][b] == 0 && mp[a-1][b] == 1)ci--;
    vs[a-1][b] = 1;
    if(vs[a][b+1] == 0 && mp[a][b+1] == 1)ci--;
    vs[a][b+1] = 1;
    if(vs[a][b-1] == 0 && mp[a][b-1] == 1)ci--;
    vs[a][b-1] = 1;
}

int main(){

    cin >> n >> m >> q;
    for(int i = 1 ;i <= n;i++) for(int j = 1 ; j <= m;j++){
        cin >> mp[i][j];
        if(mp[i][j] == 1) ci++;
    } 
    while(q--){
        int a,b;
        cin >> a >> b;
        mark(a,b);
        cout << ci << '\n';
    }
}