Submission
Status:
[PP-SSSSSSSSSSSS]
Subtask/Task Score:
{0/100}
Score: 0
User: hanapiyajong
Problemset: fireball
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-09 23:02:44
#include <bits/stdc++.h>
using namespace std;
int n,m;
int di[] = {0,0,1,-1};
int dj[] = {1,-1,0,0};
int main() {
ios_base::sync_with_stdio(0),cin.tie(0);
int qq;
cin >> n >> m >> qq;
vector<vector<int>> vv(n,vector<int>(m));
for (int i = 0; i < n ;i++){
for (int j = 0; j < m; j++){
cin >> vv[i][j];
}
}
queue<pair<int,int>> q;
int x,y;
for (int i = 0; i < qq; i++){
cin >> x >> y;
q.push({x-1,y-1});
auto v = vv;
while (!q.empty()) {
auto [i,j] = q.front();
q.pop();
if(v[i][j] != 1) continue;
if(v[i][j] == 1) v[i][j] = -1;
for (int d = 0; d < 4; d++){
int ni = i + di[d];
int nj = j + dj[d];
if(ni < 0 || nj < 0 || ni >= n || nj >= m) continue;
if(v[ni][nj] == 1) {
q.push({ni,nj});
}
}
}
int ct = 0;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
if(v[i][j] == 1) ct++;
}
}
cout << ct << endl;
}
}