Submission

Status:
[PPPPPPPPPPPPPPP]

Score: 100

User: njoop

Problemset: fireball

Language: cpp

Time: 0.003 second

Submitted On: 2025-04-04 02:25:52

#include<bits/stdc++.h>
using namespace std;
int board[100][100];
int home, n, m;

void fire(int i, int j){
	if(board[i][j] == 1){
		board[i][j] = 0;
		home--;
		if(i-1>=0 && board[i-1][j] == 1){
			fire(i-1,j);
		}
		if(i+1<n && board[i+1][j] == 1){
			fire(i+1,j);
		}
		if(j-1>=0 && board[i][j-1] == 1){
			fire(i,j-1);
		}
		if(j+1<m && board[i][j+1] == 1){
			fire(i,j+1);
		}
	}
	
}

main(){
	int q;
	cin>>n>>m>>q;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>board[i][j];
			if(board[i][j] == 1){
				home++;
			}
		}
	}
	while(q--){
		int i, j;
		cin>>i>>j;
		i--; j--;
		fire(i,j);
//		for(int i=0;i<n;i++){
//			for(int j=0;j<m;j++){
//				cout<<board[i][j]<<' ';
//			}cout<<endl;
//		}
		cout<<home<<endl;
	}
}