-Code
from collections import deque
n, m = map(int, input().split())
users = [[] for _ in range(n + 1)]
for _ in range(m):
a, b = map(int, input().split())
users[a].append(b)
users[b].append(a)
kevin = []
def bfs(start, goal):
visited = [False] * (n + 1)
visited[start] = True
dq = deque([(start, 0)])
while dq:
now, d = dq.popleft()
if now == goal:
return d
for nxt in users[now]:
if not visited[nxt]:
visited[nxt] = True
dq.append((nxt, d + 1))
def get_kevin(start):
ans = 0
for i in range(1, n + 1):
if i != start:
ans += bfs(start, i)
return ans
for i in range(1, n + 1):
kevin.append(get_kevin(i))
print(kevin.index(min(kevin)) + 1)
bfs 강의를 들으며 해결해 봤는데 익숙하지 않아 한 부분씩 잘못 작성해서 해결하긴 했지만 다음에 다시 풀어봐야 할 것 같습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 33169번 所持金 (Money On Me) (0) | 2025.01.25 |
---|---|
[백준/파이썬] 1915번 가장 큰 정사각형 (0) | 2025.01.24 |
[백준/파이썬] 15686번 치킨 배달 (0) | 2025.01.22 |
[백준/파이썬] 30216번 Increasing Sublist (0) | 2025.01.21 |
[백준/파이썬] 2841번 외계인의 기타 연주 (0) | 2025.01.20 |