// k = 거쳐가는 노드, i = 출발 노드, j = 도착 노드 for(int k=0; k<N; k++) { for(int i=0; i<N; i++) { for(int j=0; j<N; j++) { if (d[i][j] > d[i][k] + d[k][j]) d[i][j] = d[i][k] + d[k][j]; } } }
(C++) 플로이드 와샬 Floyd Warshall (+ 최단 경로 알고리즘 비교) 나동빈님 블로그