Submission

Status:

[xSSSSSSSSSSSSSS]

Subtask/Task Score:

{0/100}

Score: 0

User: mocngaijakraila

Problemset: fireball

Language: cpp

Time: 0.001 second

Submitted On: 2026-06-28 17:00:04

#include<bits/stdc++.h>
using namespace std;
int N, M, Q, pi, pj, s = 0, mv = 1;
const int C = 1e4 + 1; 
int arr[C][C];
int dx[5] = {0, 1, 0, -1, 0};
int dy[5] = {0, 0, -1, 0, 1};

void gox(int mv, int k) {
    if(arr[pi + dy[k]][pj + dx[k] * mv] == 0) {
        return;
    }

    s--;
    gox(mv + 1, k);
}

void goy(int mv, int k) {
    if(arr[pi + dy[k] * mv][pj + dx[k]] == 0) {
        return;
    }

    s--;
    goy(mv + 1, k);
}

int main() {
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> N >> M >> Q;
    
    for(int i = 0; i <= N + 1; i++) {
        for(int j = 0; j <= M + 1; j++) {
            if(i == 0 || j == 0 || i == N + 1 || j == M + 1) arr[i][j] = 0;
            else {
                cin >> arr[i][j];
                if(arr[i][j] == 1) s++;
            }
        }
    }


    while(Q--) {
        cin >> pi >> pj;
        
        if(arr[pi][pj] == 1) {

            // cout << arr[i][j] << '\n';

            for(int k = 0; k < 5; k++) {
                if(k == 0) {
                    arr[pi][pj] = 0;
                    s--;
                }
                else {
                    if(dx[k] != 0) {
                        gox(mv, k);
                    }
                    else {
                        goy(mv, k);
                    }
                }
            
                // cout << arr[i + dy[k]][j + dx[k]] << ' ';

                // if(arr[pi + dy[k]][pj + dx[k]] == 1) {
                //     arr[pi + dy[k]][pj + dx[k]] = 0;
                    
                //     s--;
                // }

                

                
            }
            // cout << '\n';
        }
        cout << s << '\n';
    }

    



    return 0;
}