BOJ 1956. 운동
1. 문제설명
N
개의 정점과M
개의 간선으로 이뤄진 그래프가 있다.-
사이클을 이루는 정점의 비용이 최소가 되는 비용을 출력하라
- 문제 분류
- Graph, Floyd
2. 알고리즘 설계
- 플로이드-워셜 알고리즘 문제이다.
- 입력받기 전에 자기 자신으로 이동하는 경로의 비용은 0, 나머지는 INF로 채운다.
- 서로 다른 정점 간 비용이 중복되지 않으므로, 입력을 받을 때 단순 저장한다.
- 플로이드 값을 계산한다.
- 정답값 계산
- 사이클을 이루는 정점의 비용 == 정점 간 왕복 비용
- 참고로, 이전에 풀었던 21940 문제와 유사하다.
- 가지못할 경우 -1을 출력하라는 의미는 경로가 없을 수도 있다는 뜻이므로, 비교 값을 INF로 초기화해야 한다.
- 사이클을 이루는 정점의 비용 == 정점 간 왕복 비용