18126번: 너구리 구구
텔레토비 동산에 사는 너구리 구구는 입구, 거실, 주방, 안방, 공부방, 운동실, 음악실, 음식 창고 등 N개의 방을 가지고 있다. 입구를 포함한 모든 방은 1부터 N까지의 번호가 있고, 입구는 1번이
www.acmicpc.net
BFS
출발지는 항상 1
bfs를 사용해서 갈 수 있는 모든 노드를 방문하고 최대값을 계속 갱신
from collections import deque
def bfs(s):global resultque=deque()que.append((s,0)) #처음 출발지인 1과 가중치 0을 넣음
while(que): #큐가 있을 때까지 반복v,c=que.pop()visited[v]=True #방문처리result=max(result,c) #최대값 갱신for i in range(1,N+1): #모든 노드 방문if(visited[i]): continue #이미 방문했다면 넘어가기if(adj[v][i]!=0): #연결되어있다면que.append((i,c+adj[v][i])) #지금까지 가중치+갈 수 있는 가중치
N = int(input())adj=[[0]*(N+1) for _ in range(N+1)] #1번부터 N번까지 쓸 거야visited=[False]*(N+1) #방문처리
result=0
for i in range(N-1):f,t,v=map(int,input().split())adj[f][t]=vadj[t][f]=v
bfs(1)
print(result)
'코딩 > 백준' 카테고리의 다른 글
[python] 백준 5639 이진 검색 트리 (0) | 2023.04.07 |
---|---|
[python] 백준 15900 나무 탈출 (0) | 2023.04.07 |
[python] 백준 1967 트리의 지름 (1) | 2023.04.07 |
[python] 백준 17281 야구 (0) | 2023.03.09 |
[python] 백준 17471 게리맨더링 (0) | 2023.03.02 |