Submission

Status:

[PP-SSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: navysrimuang

Problemset: fireball

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-18 20:45:03

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

int dx[] = {-1,0,1,0};
int dy[] = {0,1,0,-1};

void solve(){
	int n,m,q;
	int lc = 0;
	cin >> n >> m >> q;
	vector<vector<int>> g(n+2,vector<int>(m+2)); // -1 broken 1 land 0 ocean
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=m;j++){
			cin >> g[i][j];
			if(g[i][j]) lc++;
		}
	}
	
	while(q--){
		int x,y;
		cin >> x >> y;
		if(!g[x][y]){
			cout << lc << "\n";
			continue;
		}else{
			if(g[x][y] != -1){
				g[x][y] = -1;
				lc--;
			}
			for(int i = 0;i<4;i++){
				if(g[x+dx[i]][y+dy[i]] && g[x+dx[i]][y+dy[i]] != -1){
						g[x+dx[i]][y+dy[i]] = -1;
						lc--;
				}
			}
			cout << lc << "\n";
		}

	}
}

int main(){
	cin.tie(0)->sync_with_stdio(0);
	solve();
	return 0;
}