chillurbrain

11.3.2. Флойд

May 26th, 2016
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. int main(){
  7.     int n;
  8.     cin >> n;
  9.     int a[n][n];
  10.     long long maxr = 0;
  11.     for( int i=0 ; i<n ; i++ ){
  12.         for( int j=0 ; j<n ; j++ ){
  13.             cin >> a[i][j];
  14.         }
  15.     }
  16.     for( int k=0 ; k<n ; k++ ){
  17.         for( int i=0 ; i<n ; i++ ){
  18.             for( int j=0 ; j<n ; j++ ){
  19.                 if(i != j && a[i][k] != -1 && a[k][j] != -1){
  20.                     if(a[i][j] == -1){
  21.                         a[i][j] = a[i][k] + a[k][j];
  22.                     }
  23.                         else
  24.                     {
  25.                         a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
  26.                     }
  27.                 }
  28.             }
  29.         }
  30.     }
  31.     for( int i=0 ; i<n ; i++ )
  32.     {
  33.         for( int j=0 ; j<n ; j++ )
  34.         {
  35.             if(a[i][j] > maxr) maxr = a[i][j];
  36.         }
  37.     }
  38.     cout << maxr << endl;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment