Pagini recente » Cod sursa (job #765816) | Cod sursa (job #2391444) | Borderou de evaluare (job #502359) | Borderou de evaluare (job #1227526) | Cod sursa (job #2979003)
#include <fstream>
using namespace std;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
const int NMAX=105,INF=1e9;
int c[NMAX][NMAX];
int main()
{
int i,j,k,n;
cin>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
cin >> c[i][j];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(c[i][j]==0)
c[i][j]=INF;
for(k=1; k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j)
c[i][j]=min(c[i][j],c[i][k]+c[k][j]);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(c[i][j]<INF)
cout<<c[i][j]<< ' ';
else cout<<"0 ";
cout<<'\n';
}
return 0;
}