Algorithm/Problems
99클럽 코테 스터디 17일차 TIL + DFS
공부좀하시졍
2025. 4. 22. 23:41
https://www.acmicpc.net/problem/18126
# 18126 너구리 구구
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10**7)
n = int(input())
graph = [[] for _ in range(n+1)]
visited = [False] * (n+1)
dist = [0] * (n+1)
for _ in range(n-1):
a,b,c = map(int, input().split())
graph[a].append([b,c])
graph[b].append([a,c])
def dfs(v):
visited[v] = True
for i, d in graph[v]:
if not visited[i]:
dist[i] = d + dist[v]
dfs(i)
return
dfs(1)
print(max(dist))
- 일반적인 dfs 에서 거리의 최댓값을 갱신해야 한다.
- 문제에 필요한 리스트들을 잘 선언해야 한다.
- dfs나 다익스트라 알고리즘을 사용해도 된다.