#59. 타임머신으로 빨리 가기(11657)

image.png

image.png

1. 문제 분석하기

2. 손으로 풀어보기

1) 리스트 초기화

image.png

2) 벨만-포드 알고리즘 수행

image.png

image.png

3) 음수 사이클 체크

print(-1)

3. Pseudo-code

**## 입력**
N(도시 = 노드), M(노선 = 에지)
edges(에지 리스트)
distance(거리 리스트)

for i in range(M):
	에지 리스트에 정보 저장

**## 처리**
1. 리스트 초기화(출발 노드를 0으로)
2. 정답 리스트 업데이트
    repeat (N-1)
	    repeat (M)
       현재 에지 정보 가져오기
       if 출발 노드 != 무한대 and E > (S + W):
         distance[E] = distance[S] + W
3. 음수 사이클 확인
    repeat (M)
    현재 에지 정보 가져오기
    if 출발 노드 != 무한대 and E > (S + W):
      음수 사이클 존재
      
**## 출력**
음수 사이클 존재 x -> print(distance)
음수 사이클 존재 -> print(-1)