Cod sursa(job #1040901)
| Utilizator | Data | 25 noiembrie 2013 08:36:15 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
long n, a[101][101];
int main() {
freopen("royfloyd.in", "rt", stdin);
freopen("royfloyd.out", "wt", stdout);
scanf("%ld", &n);
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
scanf("%ld", &a[i][j]);
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(a[i][j] > a[i][k] + a[k][j])
a[i][j] = a[i][k] + a[k][j];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++)
printf("%ld ", a[i][j]);
printf("\n");
}
return 0;
}