Pagini recente » runda/preoni2007_runda4_1112 | Cod sursa (job #1527092) | Cod sursa (job #901780)
Cod sursa(job #901780)
#include<iostream>
#include<fstream>
#define inf1 10000001;
using namespace std;
int a[1000][1000],c[1000][1000],n;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int main()
{
in>>n;
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
{in>>a[i][j];c[i][j]=a[i][j];
if (c[i][j]==0) c[i][j]=inf1;
}
for (int k=1;k<=n;++k)
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
if (i!=j&&a[i][k]&&a[k][j])
if (c[i][j]>a[i][k]+a[k][j] || !c[i][j]) c[i][j]=a[i][k]+a[k][j];
for (int i=1;i<=n;++i)
{
for (int j=1;j<=n;++j)
if (c[i][j]!=10000001) cout<<c[i][j]<<" ";
else cout<<0<<" ";
cout<<'\n';
}
return 0;
}