Advertisement
Neychok

Диаметър

Jan 25th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <climits>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. int main() {
  9.     int n, m; cin >> n >> m;
  10.     vector < vector<int> >dist;
  11.     dist.assign(n, vector<int>(n, INT_MAX));
  12.     for (int i = 0; i < m; i++) {
  13.         int u, v; cin >> u >> v;
  14.         --u; --v;
  15.  
  16.         dist[u][v] = 1;
  17.         dist[v][u] = 1;
  18.     }
  19.  
  20.     for (int k = 0; k < n; k++) {
  21.         for (int i = 0; i < n; i++) {
  22.             for (int j = 0; j < n; j++) {
  23.                 if (dist[i][k] != INT_MAX && dist[k][j] != INT_MAX) {
  24.                     dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
  25.                 }
  26.             }
  27.         }
  28.     }
  29.  
  30.     int ans = INT_MIN;
  31.     for (int i = 0; i < dist.size(); i++) {
  32.         for (int j = 0; j < dist[0].size(); j++) {
  33.             ans = max(ans, dist[i][j]);
  34.         }
  35.     }
  36.     cout << ans << endl;
  37.  
  38.  
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement