1. κ·Έλνλ₯Ό λ§λ€ λ°°μ΄κ³Ό κ° λ Έλλ³ λμ μν©μ κΈ°λ‘ν λ°°μ΄μ μμ±ν©λλ€.
def solution(n, edge):
answer = 0
route = [0] * (n+1)
graph = [[] for i in range(n+1)]
2. λ Έλ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ κ·Έλν λ§λ€κΈ°
for e in edge:
graph [e[0]].append(e[1])
graph [e[1].append(e[0])
3. νμ μ€λΉ
from collections import deque
queue = deque()
queue.append(1)
route[1] = 1
4. BFS νμ μν
while queue:
now = queue.popleft()
for g in graph[now]:
if route[g] == 0:
queue.append(g)
route[g] = route[now] + 1
5. λμ¨ λ Έλ λ°μ΄ν° μ€ κ°μ₯ λ¨Ό λ Έλμ κ°μ νμ
max_edge = max(route)
for r in route:
if r == max_edge:
answer += 1
from collections import deque
def solution(n, edge):
answer = 0
route = [0]*(n+1)
graph = [[] for i in range(n+1)]
queue = deque()
for e in edge:
graph[e[0]].append(e[1])
graph[e[1]].append(e[0])
queue.append(1)
route[1] = 1
while queue:
now = queue.popleft()
for g in graph[now]:
if route[g] == 0:
queue.append(g)
route[g] = route[now] + 1
max_edge = max(route)
for r in route:
if r == mox_edge:
answer += 1
return answer