Submission
Status:
[PPPPPPPPPPPP-SS]
Subtask/Task Score:
{0/100}
Score: 0
User: onlyme910
Problemset: fireball
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-09 19:14:16
#include <bits/stdc++.h>
using namespace std;
int mapt[111][111];
int firex[555];
int firey[555];
int alive;
int main(){
int N,M,f;
cin >> N >> M >> f;
int castle[f];
alive = 0;
for(int i = 0;i<N;i++){
for(int j = 0;j<M;j++){
cin >> mapt[i+1][j+1];
alive += mapt[i+1][j+1];
}
}
for(int i = 0;i<f;i++){
int maxFire = 0;
cin >> firex[maxFire] >> firey[maxFire];
int indexFire = 0;
while (maxFire>=indexFire)
{
int x = firex[indexFire],y = firey[indexFire];
indexFire++;
if(mapt[x][y] == 1){
mapt[x][y] = 0;
alive--;
maxFire++;
firex[maxFire] = x+1;
firey[maxFire] = y;
maxFire++;
firex[maxFire] = x-1;
firey[maxFire] = y;
maxFire++;
firex[maxFire] = x;
firey[maxFire] = y+1;
maxFire++;
firex[maxFire] = x;
firey[maxFire] = y-1;
}
}
castle[i] = alive;
}
for(int i =0;i < f;i++){
cout << castle[i] << "\n";
}
}