돌려보면 답은 맞는데 자꾸 시간초과 나네

from collections import deque
dx=[1,-1,0,0]
dy=[0,0,1,-1]

def bfs(x,y):
    q=deque([(x,y)])
    while q:
        a,b=q.popleft()
        matrix[a][b]=0
        for i in range(4):
            x_,y_=a+dx[i],b+dy[i]
            if x_<0 or x_>=X or y_<0 or y_>=Y:
                continue
            if matrix[x_][y_]==1:
                q.append((x_,y_))

for _ in range(int(input())):
    X,Y,n=map(int,input().split())
    matrix=[[0]*69 for i in range(74)]
    cnt=0
    for i in range(n):
        x,y=map(int,input().split())
        matrix[x][y]+=1
    for i in range(X):
        for j in range(Y):
            if matrix[i][j]==1:
                bfs(i,j)
                cnt+=1

print(cnt)

- dc official App