Submission

Status:

[PPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: SnowAveNode

Problemset: fireball

Language: python

Time: 0.017 second

Submitted On: 2026-04-10 18:12:11

import sys
input = sys.stdin.readline

n, m, q = map(int, input().split())
grid = [list(map(int, input().split())) for _ in range(n)]

cnt = sum(sum(row) for row in grid)

for _ in range(q):
    i, j = map(int, input().split())
    i -= 1
    j -= 1

    if grid[i][j] == 1:
        stack = [(i, j)]
        grid[i][j] = 0
        cnt -= 1
        
        while stack:
            y, x = stack.pop()

            for dy, dx in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
                ny, nx = y + dy, x + dx

                if 0 <= ny < n and 0 <= nx < m and grid[ny][nx] == 1:
                    grid[ny][nx] = 0
                    cnt -= 1
                    stack.append((ny, nx))
    
    print(cnt)