Pagini recente » Cod sursa (job #72889) | Cod sursa (job #2240993) | Cod sursa (job #1178963) | Cod sursa (job #425399) | Cod sursa (job #474255)
Cod sursa(job #474255)
#include<fstream.h>
#define NMAX 105
#define inf 1000000
long n,c[NMAX][NMAX],d[NMAX][NMAX];
void cit()
{ifstream fin("royfloyd.in");
fin>>n;
long i,j;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
fin>>c[i][j];
fin.close();
}
void solve()
{long i,j,k;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
if(c[i][j]==0)
c[i][j]=inf;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
d[i][j]=c[i][j];
for(i=1;i<=n;++i)
d[i][i]=0;
for(k=1;k<=n;++k)
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
if(d[i][j]>d[i][k]+d[k][j])
d[i][j]=d[i][k]+d[k][j];
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
if(d[i][j]==inf)
d[i][j]=0;
}
void afis()
{ofstream fout("royfloyd.out");
long i,j;
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
fout<<d[i][j]<<" ";
fout<<'\n';
}
fout.close();
}
int main()
{cit();
solve();
afis();
return 0;
}