Submission

Status:

[-SSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: winwin1054

Problemset: fireball

Language: cpp

Time: 0.003 second

Submitted On: 2026-10-14 18:13:58

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

int n,m,q,one=0;
int arr[100][100];
int ans[100][100];
int wow=0;

void re(int x,int y) {
	if(x>n||x<=0||y>m||y<=0||arr[x-1][y-1]==0||arr[x-1][y-1]==2) {
		return;
	}
	if(arr[x-1][y-1]==1) {
		wow++;
		arr[x-1][y-1]=2;
	}
	re(x-1,y);
	re(x+1,y);
	re(x,y+1);
	re(x,y-1);
}

void pans(int x,int y) {
	if(x>n||x<=0||y>m||y<=0||arr[x-1][y-1]==0) {
		return;
	}
	if(arr[x-1][y-1]==2) {
		ans[x-1][y-1]=wow;
		arr[x-1][y-1]=0;
    }
	pans(x-1,y);
	pans(x+1,y);
	pans(x,y+1);
	pans(x,y-1);
}

int main() {
    cin >> n >> m >> q;
    for(int i=0;i<n;i++) {
    	for(int j=0;j<m;j++) {
    		cin >> arr[i][j];
    		if(arr[i][j]) one+=1;
    		ans[i][j] = 0;
		}
	}
	int x,y;
	for(int i=0;i<q;i++) {
		cin >> x >> y;
		if(!ans[x-1][y-1]) {
			wow = 0;
			re(x,y);
			pans(x,y);
		}
		for(int i=0;i<n;i++) {
			for(int j=0;j<m;j++) {
				cout << ans[i][j] << " ";
			}
			cout << '\n';
		}
		cout << one - ans[x-1][y-1] << '\n';
	}
}