Mai intai trebuie sa te autentifici.
Cod sursa(job #1170514)
Utilizator | Data | 13 aprilie 2014 19:08:35 | |
---|---|---|---|
Problema | Floyd-Warshall/Roy-Floyd | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
# include <fstream>
# define inf 1000000
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int i,j,n,k;
int a[105][105];
int main ()
{
f>>n;
for (i=1; i<=n; ++i)
for (j=1; j<=n; ++j)
{
f>>a[i][j];
if (a[i][j]==0 && i!=j) a[i][j]=inf;
}
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)
{
if (a[i][j]==inf) g<<"0 ";
else g<<a[i][j]<<" ";
}
g<<"\n";
}
return 0;
}