1seul357
[SWEA] 최소 이동 거리 본문
T = int(input())
for TC in range(T):
N, E = map(int, input().split())
check = [999999]*(N+1)
arr = [[0]*(N+1) for _ in range(N+1)]
check[0] = 0 # 출발점은 항상 0
for i in range(E): # E만큼 입력받기
s, e, w = map(int, input().split())
arr[s][e] = w # 2차원 리스트 사용, w비용 넣기
for i in range(N+1):
for j in range(N+1):
if arr[i][j] != 0: # 경로가 있다면
if check[j] > arr[i][j] + check[i]: # 지금 경로가 다음 경로에 저장된 값보다 작다면
check[j] = arr[i][j] + check[i] # 갱신
print('#{} {}'.format(TC+1, check[N]))
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 격자판의 숫자 이어붙이기 (0) | 2021.11.28 |
---|---|
[SWEA] 장훈이의 높은 선반 (0) | 2021.11.28 |
[SWEA] 정사각형 방 (0) | 2021.11.28 |
[SWEA] 그룹 나누기 (0) | 2021.11.28 |
[SWEA] 이진 탐색 (0) | 2021.11.28 |