Cod sursa(job #484666)
Utilizator | Mario Ynocente Castro MarioYC | Data | 15 septembrie 2010 08:41:44 |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int main(){
int N;
scanf("%d",&N);
int M[N][N];
for(int i = 0;i<N;++i)
for(int j = 0;j<N;++j)
scanf("%d",&M[i][j]);
for(int k = 0;k<N;++k)
for(int i = 0;i<N;++i)
for(int j = 0;j<N;++j)
M[i][j] = min(M[i][j],M[i][k]+M[k][j]);
for(int i = 0;i<N;++i){
for(int j = 0;j<N;++j)
printf("%d ",M[i][j]);
printf("\n");
}
return 0;
}