Cod sursa(job #1131803)
| Utilizator | Data | 1 martie 2014 16:12:20 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <cstdio>
int x[100][100];
int main() {
freopen("royfloyd.in", "rt", stdin);
freopen("royfloyd.out", "wt", stdout);
int n;
scanf("%d", &n);
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j) {
scanf("%d", &x[i][j]);
}
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
for (int k = 0; k < n; ++k) {
if (x[i][j] > x[i][k] + x[k][j]) {
x[i][j] = x[i][k] + x[k][j];
}
}
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
printf("%d ", x[i][j]);
}
printf("\n");
}
}
