Pagini recente » Cod sursa (job #1669552) | Cod sursa (job #466426) | Cod sursa (job #1693151) | Cod sursa (job #83157) | Cod sursa (job #311802)
Cod sursa(job #311802)
#include<stdio.h>
#define dim 150
long long int a[dim][dim],n,i,k,m,j;
void read()
{
scanf("%lld",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%lld",&a[i][j]);
}
void afis()
{
for(i=1;i<=n;i++,printf("\n"))
for(k=1;k<=n;k++)
printf("%lld ",a[i][k]);
}
void solve()
{
int i,j,k;
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if( a[j][i] && a[i][j] && i!=j &&(a[i][j] > a[i][k] + a[k][j] || !a[i][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];
afis();
}
int main ()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
read();
solve();
return 0;
}