반응형
코드
from collections import deque
def bfs(x,y):
global cnt
queue = deque()
queue.append((x,y))
while queue:
x,y = queue.popleft()
for i in range(4):
nx = x+dx[i]
ny = y+dy[i]
if 1<=nx<=n and 1<=ny<=m and graph[nx][ny] == 1:
graph[nx][ny] = 0
cnt += 1
queue.append((nx,ny))
n,m,k = map(int,input().split())
graph = [[0]*(m+1) for _ in range(n+1)]
for _ in range(k):
r,c = map(int,input().split())
graph[r][c] = 1
dx = [1,-1,0,0]
dy = [0,0,1,-1]
ans = 0
for i in range(1,n+1):
for j in range(1,m+1):
if graph[i][j] == 1:
cnt = 0
bfs(i,j)
ans = max(ans,cnt)
print(ans)
반응형
'알고리즘 > 그래프 탐색' 카테고리의 다른 글
[백준][Python] 1446번 지름길 (0) | 2022.12.30 |
---|---|
[백준][Python] 2583번 영역 구하기 (0) | 2022.12.01 |
[백준][Python] 10026번 적록색약 (0) | 2022.11.29 |
[백준][Python] 14502번 연구소 (0) | 2022.11.09 |
[백준][Python] 1697번 숨바꼭질 (0) | 2022.10.26 |
댓글