Mai intai trebuie sa te autentifici.
Cod sursa(job #716023)
Utilizator | Data | 18 martie 2012 09:30:02 | |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <stdio.h>
#include <algorithm>
using namespace std;
long i, j, k, n, edge[110][110];
int main() {
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
scanf("%ld", &edge[i][j]);
}
}
for (k = 1; k <= n; ++k) {
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
edge[i][j] = min(edge[i][j], edge[i][k] + edge[k][j]);
}
}
}
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) {
printf("%ld ", edge[i][j]);
}
printf("\n");
}
return 0;
}