최단거리는 (N-1)*c = 799000까지 될 수 있습니다.
1504번 - 특정한 최단 경로
답변 감사합니다. :)
MAX최단거리로 INF를 선언 해주었고. 초기화를 했습니다.
또한
```
unsigned long long ans = INF;
if(arr[1][a] != INF || arr[a][b] != INF || arr[b][n] != INF)
ans = min(ans, arr[1][a] + arr[a][b] + arr[b][n]);
if(arr[1][b] != INF || arr[b][a] != INF || arr[a][n] != INF)
ans = min(ans, arr[1][b] + arr[b][a] + arr[a][n]);
printf("%d", ans == INF ? -1 : ans);
```
로 하나라도 다 이어질수 있는경우에 ans랑 min값을 비교하도록하였습니다.
그래도 오답이 나오는데 혹시 어디서 제가 더 틀렸는지 알수있을까요..??
감사합니다.
댓글을 작성하려면 로그인해야 합니다.
dong_s 6년 전
우선 각 엣지들의 최소값을 행렬에 두고 워셜알고리즘을 수행시켰습니다.
그리고 다들 하시는 1-a-b-n / 1-b-a-n을 수행했구요.
기본 초기값이 212345로설정해서
세가지를 합했을때 int범위 초과도 아니고, 하나라도 길이 없는 경우 합은 212345를 넘을것이라 판단하여 출력구문을 작성하였습니다.
혹시 무엇이 문제인지 알수있을까요 ?