음식물 피하기 – 실버1

2023. 1. 3. 16:49코딩 테스트 준비

728x90
반응형

인덱스 에러로 고생한 문제, x,y를 그냥 순서대로 받아서 하면 됐는데 다른 bfs 문제처럼 x,y의 순서를 변경해서 넣어 고생했지만 풀었다.

 

from collections import deque

N, M, K = map(int, input().split())
road = [[0] * (M + 1) for _ in range(N + 1)]
d = [(0, 1), (0, -1), (1, 0), (-1, 0)]

for i in range(K):
    x, y = map(int, input().split())
    road[x][y] = '#'

def bfs(x, y):
    road[x][y] = 1
    q = deque()
    q.append((x, y))
    result = 1
    while q:
        x, y = q.popleft()
        for dx, dy in d:
            X, Y = x + dx, y + dy
            if (0 < X <= N) and (0 < Y <= M) and road[X][Y] == '#':
                q.append((X, Y))
                road[X][Y] = 1
                result += 1
    return result

answer = 0
for i in range(1, N + 1):
    for j in range(1, M + 1):
        if road[i][j] == '#':
            ans = bfs(i, j)
            answer = max(answer, ans)
print(answer)
728x90
반응형

'코딩 테스트 준비' 카테고리의 다른 글

피보나치 수 2 – 브론즈 1  (0) 2023.01.03
섬의 개수 – 실버2  (0) 2023.01.03
연결 요소의 개수 – 실버 2  (0) 2023.01.02
미로 탐색 – 실버 1  (0) 2023.01.02
전쟁 – 전투 실버 1  (0) 2023.01.02