아 깔끔하고 개운하게 풀었다
from collections import deque
T = int(input())
for t in range(T):
c, r, b = map(int, input().split())
bat = [[0 for _ in range(c)] for _ in range(r)]
for i in range(b):
x, y = map(int, input().split())
bat[y][x] = 1
deq = deque()
dy, dx = [0, 1, 0, -1], [1, 0, -1, 0]
result = 0
for y in range(r):
for x in range(c):
if bat[y][x] == 1:
result += 1
bat[y][x] = -1
deq.append((y,x))
while deq:
ny, nx = deq.popleft()
for i in range(4):
my, mx = ny + dy[i], nx + dx[i]
if my < 0 or my >= r or mx < 0 or mx >= c: pass
elif bat[my][mx] == 1:
deq.append((my,mx))
bat[my][mx] = -1
print(result)