PROGRAMMERS 49189: 가장 먼 노드

PROGRAMMERS 49189: 가장 먼 노드

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

from collections import deque INF = int ( 1e9 ) def solution(n, edge): graph = [[] for _ in range (n)] que = deque() distance = [INF for _ in range (n)] visited = [ False for _ in range (n)] for s, e in edge: s - = 1 ; e - = 1 graph[s].append(e) graph[e].append(s) que.append(( 0 , 0 )) # now_pos, now_stack while len (que): s, ns = que.popleft() if visited[s]: continue visited[s] = True for e in graph[s]: if ns + 1 > distance[e]: continue distance[e] = ns + 1 que.append((e, ns + 1 )) distance.pop( 0 ) max_dist = max(distance) return distance.count(max_dist)

from http://cjw-git.tistory.com/176 by ccl(A) rewrite - 2021-07-27 05:01:03