Advertisement
Guest User

Untitled

a guest
Sep 25th, 2011
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. #define ll long long
  5. #define pb push_back
  6. #define f first
  7. #define s second
  8. #define mp make_pair
  9. const int INF = 1000000000;
  10. int d[1005][1005];
  11. int main()
  12. {
  13.   int n, m, x, y, w;
  14.   freopen("fuse.in", "r", stdin);
  15.   freopen("fuse.out", "w", stdout);
  16.   cin >> n >> m;
  17.   for (int i = 1; i <= n; i++)
  18.     for (int j = 1; j <= n; j++)
  19.       if (i != j) d[i][j] = INF;
  20.   for (int i = 0; i < m; i++)
  21.   {
  22.     cin >> x >> y >> w;
  23.     d[x][y] = d[y][x] = w;
  24.   }
  25.   for (int k = 1; k <= n; k++)
  26.     for (int i = 1; i <= n; i++)
  27.       for (int j = 1; j <= n; j++)
  28.         d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
  29.   int mini = INF, v;
  30.   for (int i = 1; i <= n; i++)
  31.   {
  32.     int maxi = 0;
  33.     for (int j = 1; j <= n; j++)
  34.       maxi = max(maxi, d[i][j]);
  35.     if (maxi < mini)
  36.     {
  37.       mini = maxi;
  38.       v = i;
  39.     }
  40.   }
  41.   cout << v << " " << mini;
  42.   return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement