Pagini recente » Cod sursa (job #3355726) | Cod sursa (job #981339) | Diferente pentru problema/beyond_the_wall intre reviziile 6 si 7 | Cod sursa (job #3304667) | Cod sursa (job #1010052)
#include <stdio.h>
#define fr(i,a,b) for(int i=a;i<b;++i)
#define nmax 101
int n;
int t[nmax][nmax];
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
printf("n= %d\n",n);
fr(i,0,n) fr(j,0,n) scanf("%d",&t[i][j]);
fr(k,0,n)
fr(i,0,n)
fr(j,0,n)
if(t[i][k]&&t[k][j]&&(t[i][j]>t[i][k]+t[k][j]||!t[i][j])&&i!=j) t[i][j]=t[i][k]+t[k][j];
fr(i,0,n) {fr(j,0,n) printf("%d ",t[i][j]);printf("\n");}
return 0;
}