Pagini recente » Cod sursa (job #123837) | Cod sursa (job #1946264) | Cod sursa (job #1126667) | Cod sursa (job #1524333) | Cod sursa (job #347974)
Cod sursa(job #347974)
#include<cstdio>
const int N = (1<<7);
const int oo = (1<<20);
int n,a[N][N];
void citire()
{
int i,j;
scanf("%d",&n);
for(i=1 ; i<=n ; ++i)
for(j=1 ; j<=n ; ++j)
{
scanf("%d",&a[i][j]);
if(i!=j && a[i][j]==0)
a[i][j]=oo;
}
}
inline int min(int x,int y)
{
return x<y ? x : y;
}
void rfw()
{
int i,j,k;
for(k=1 ; k<=n ; ++k)
for(i=1 ; i<=n ; ++i)
for(j=1 ; j<=n ; ++j)
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
void scrie()
{
int i,j;
for(i=1 ; i<=n ; ++i)
{
for(j=1 ; j<=n ; ++j)
printf("%d ",a[i][j]==oo ? 0 : a[i][j]);
printf("\n");
}
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
citire();
rfw();
scrie();
return 0;
}