BOJ 1956: 운동 작성일 2020-02-29 https://www.acmicpc.net/problem/1956 2월동안 187문제 풀기(지난달 누적 87개) (73/187) 플루이드 와셜 처음에 다익스트라를 돌려서 한껏 삽질.. 1234567891011121314151617181920212223242526#include <bits/stdc++.h> using namespace std; int main() { int V, E, a, b, dist; scanf("%d %d", &V, &E); vector<vector<int>> dp(V+1, vector<int>(V+1, 1e9)); for(int i = 0; i < E; i++) { scanf("%d %d %d", &a, &b, &dist); dp[a][b] = dist; } for(int k = 1; k <= V; k++) for(int i = 1; i <= V; i++) for(int j = 1; j <= V; j++) if(dp[i][j] > dp[i][k] + dp[k][j]) dp[i][j] = dp[i][k] + dp[k][j]; int ans = 1e9; for(int i = 1; i <= V; i++) for(int j = 1; j <= V; j++) if(i != j) ans = min(ans, dp[i][j] + dp[j][i]); printf("%d", ans >= 1e9 ? -1 : ans); }