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';
}
}