Cod sursa(job #2084447)
| Utilizator | Data | 9 decembrie 2017 09:42:01 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.66 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int a[101][101];
int main() {
int n, i, j, k, x;
fin >> n;
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j) {
fin >> x;
a[i][j] = x;
}
for (k = 1; k <= n; ++k)
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j)
if (a[i][j] > a[i][k] + a[k][j])
a[i][j] = a[i][k] + a[k][j];
for (i = 1; i <= n; ++i) {
for (j = 1; j <= n; ++j) fout << a[i][j] << ' ';
fout << '\n';
}
return 0;
}
