Pagini recente » Cod sursa (job #647497) | Cod sursa (job #727882) | Cod sursa (job #1439781) | Cod sursa (job #2624250) | Cod sursa (job #1912491)
#include <fstream>
#define inf 100000
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
int n,a[150][150],i,j,m,x,y,c;
void RoyFloyd()
{
int i,j,k;
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] )
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];
}
int main()
{
fi>>n;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
fi>>a[i][j];
RoyFloyd();
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(i==j)
fo<<"0"<<" ";
else
if(a[i][j]==inf)
fo<<-1<<" ";
else
fo<<a[i][j]<< " ";
fo<<endl;
}
return 0;
}