Pagini recente » Cod sursa (job #2073804) | Cod sursa (job #867098) | Cod sursa (job #654057) | Arhiva de probleme | Cod sursa (job #1650282)
#include <iostream>
#include <cstdio>
using namespace std;
int n;
int sol[103][103];
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
cin>>n;
int i,j,k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++) cin>>sol[i][j];
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if( ( sol[i][j]> sol[i][k]+sol[k][j] || !sol[i][j]) && i!=j && i!=k && j!=k )
sol[i][j]=sol[i][k]+sol[k][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++) cout<<sol[i][j]<<' ';
cout<<'\n';
}
fclose(stdin);
fclose(stdout);
return 0;
}