Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdio>
- using namespace std;
- #define ll long long
- #define pb push_back
- #define f first
- #define s second
- #define mp make_pair
- const int INF = 1000000000;
- int d[1005][1005];
- int main()
- {
- int n, m, x, y, w;
- freopen("fuse.in", "r", stdin);
- freopen("fuse.out", "w", stdout);
- cin >> n >> m;
- for (int i = 1; i <= n; i++)
- for (int j = 1; j <= n; j++)
- if (i != j) d[i][j] = INF;
- for (int i = 0; i < m; i++)
- {
- cin >> x >> y >> w;
- d[x][y] = d[y][x] = w;
- }
- for (int k = 1; k <= n; k++)
- for (int i = 1; i <= n; i++)
- for (int j = 1; j <= n; j++)
- d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
- int mini = INF, v;
- for (int i = 1; i <= n; i++)
- {
- int maxi = 0;
- for (int j = 1; j <= n; j++)
- maxi = max(maxi, d[i][j]);
- if (maxi < mini)
- {
- mini = maxi;
- v = i;
- }
- }
- cout << v << " " << mini;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement