Pagini recente » Cod sursa (job #2450982) | Cod sursa (job #1401149) | Cod sursa (job #1001527) | Cod sursa (job #185461) | Cod sursa (job #991721)
Cod sursa(job #991721)
#include<iostream>
#include<stdio.h>
using namespace std;
int min(int a,int b)
{
return a < b ? a : b;
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n,i,j,k;
int d[101][101];
cin >> n;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
cin >> d[i][j];
if(d[i][j]==0)
{
d[i][j]=100000;
}
}
}
for(k=1;k<=n;k++)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i!=j)
{
//if((!v[i][j]||v[i][j]>v[i][k]+v[k][j])&&i!=j)
d[i][j]=min(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]!=100000)
{
cout << d[i][j] << " ";
}
else
{
cout << 0 << " ";
}
}
cout << endl;
}
return 0;
}