Pagini recente » Cod sursa (job #2279497) | Cod sursa (job #520892) | Cod sursa (job #1682998) | Cod sursa (job #2480146) | Cod sursa (job #1720267)
# include <cstdio>
using namespace std;
# define nmax 101
int N;int A[nmax][nmax];
void citire()
{
FILE *f=freopen("royfloyd.in","r",stdin),*g=freopen("royfloyd.out","w",stdout);
scanf("%d\n",&N);
int i,j;
for(i=1;i<=N;++i)
for(j=1;j<=N;++j)
scanf("%d ",A[i]+j);
}
void royfloyd()
{
int i,j,k;
for(k=1;k<=N;++k)
for(i=1;i<=N;++i)
for(j=1;j<=N;++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];
}
void afis()
{
int i,j;
for(i=1;i<=N;++i)
{
for(j=1;j<=N;++j)
printf("%d ",A[i][j]);
printf("\n");
}
}
int main()
{
citire();
royfloyd();
afis();
}