Cod sursa(job #1648231)
| Utilizator | Data | 11 martie 2016 08:51:06 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream>
#define NMAX 55
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int i, j, k, n, mat[NMAX][NMAX];
int main()
{
f >> n;
for (i = 1; i <= n; ++ i)
for (j = 1; j <= n; ++ j)
f >> mat[i][j];
for (k = 1; k <= n; ++ k)
for (i = 1; i <= n; ++ i)
for (j = 1; j <= n; ++ j)
if (i != j)
mat[i][j] = min(mat[i][j], mat[i][k] + mat[k][j]);
for (i = 1; i <= n; ++ i)
{
for (j = 1; j <= n; ++ j)
g << mat[i][j] << " ";
g << '\n';
}
return 0;
}
