Cod sursa(job #1136001)
Utilizator | Beni Lehel BeniLehel | Data | 8 martie 2014 17:50:28 |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include<stdio.h>
int n = 0;
int t[10000][10000];
int main(){
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &n);
for (int i = 0; i < n;++i)
for (int j = 0; j < n; ++j)
scanf("%d", &t[i][j]);
for (int k = 0; k < n;++k)
for (int i = 0; i < n;++i)
for (int j = 0; j < n;++j)
if (t[i][j]>t[i][k] + t[k][j])
t[i][j] = t[i][k] + t[k][j];
for (int i = 0; i < n; ++i){
for (int j = 0; j < n; ++j)
printf("%d ", t[i][j]);
printf("\n");
}
return 0;
}