Cod sursa(job #1010398)
| Utilizator | Data | 14 octombrie 2013 20:24:35 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
# include <iostream>
# include <fstream>
# define n_max 102
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int a[n_max][n_max],n;
int main()
{
f>>n;
int i,j,k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
{
f>>a[i][j];
}
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j) a[i][j] = a[i][k] + a[k][j];
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
g<<a[i][j]<<" ";
g<<'\n';
}
return 0;
}
