플로이드 [백준] 11404 플로이드 n(2 ≤ n ≤ 100)개의 도시 m(1 ≤ m ≤ 100,000)개의 버스 출발도시 / 도착도시 / 비용(1 ≤ m ≤ 100,000) 시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다. n개의 줄을 출력 i번째 줄에 출력하는 j번째 숫자는 도시 i에서 j로 가는데 필요한 최소 비용 만약, i에서 j로 갈 수 없는 경우에는 그 자리에 0을 출력 플로이드-와샬(Floyd War... 플로이드CC [백준 문제풀이] #1956 도로 길이의 합이 최소가 되는 사이클을 찾아야 하므로, 모든 정점간의 최단거리가 필요하다. 따라서 플로이드 알고리즘을 통해 정점간 최단거리를 먼저 구한 후, 모든 정점 쌍에 대하여 (v1, v2) d(v1, v2) + d(v2, v1) 값의 최솟값을 구한다. 처음에 너무 복잡하게 생각하여 문제를 해결하는데 시간이 꽤 걸렸다. V값의 범위가 최대 400이므로 플로이드 알고리즘( O(V^3) )... 플로이드백준백준
[백준] 11404 플로이드 n(2 ≤ n ≤ 100)개의 도시 m(1 ≤ m ≤ 100,000)개의 버스 출발도시 / 도착도시 / 비용(1 ≤ m ≤ 100,000) 시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다. n개의 줄을 출력 i번째 줄에 출력하는 j번째 숫자는 도시 i에서 j로 가는데 필요한 최소 비용 만약, i에서 j로 갈 수 없는 경우에는 그 자리에 0을 출력 플로이드-와샬(Floyd War... 플로이드CC [백준 문제풀이] #1956 도로 길이의 합이 최소가 되는 사이클을 찾아야 하므로, 모든 정점간의 최단거리가 필요하다. 따라서 플로이드 알고리즘을 통해 정점간 최단거리를 먼저 구한 후, 모든 정점 쌍에 대하여 (v1, v2) d(v1, v2) + d(v2, v1) 값의 최솟값을 구한다. 처음에 너무 복잡하게 생각하여 문제를 해결하는데 시간이 꽤 걸렸다. V값의 범위가 최대 400이므로 플로이드 알고리즘( O(V^3) )... 플로이드백준백준