Cod sursa(job #2304300)
Utilizator | Cirpici Andrei Sorin AndreiSorin26012001 | Data | 17 decembrie 2018 21:18:44 |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <bits/stdc++.h>
#define DIM 105
#define INF 10000005
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n;
int D[DIM][DIM];
int main()
{
in>>n;
for( int i = 1; i <= n; i++ )
for( int j = 1; j <= n; j++ )
in>>D[i][j];
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] );
for( int i = 1; i <= n; i++ )
{
for( int j = 1; j <= n; j++ )
out<<D[i][j]<<" ";
out<<"\n";
}
return 0;
}