Pagini recente » Cod sursa (job #972263) | Cod sursa (job #1164552) | Cod sursa (job #1475310) | Cod sursa (job #276060) | Cod sursa (job #1135802)
#include <cstdio>
#define Nmax 105
using namespace std;
int ADJ[Nmax][Nmax];
int N;
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&N);
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j){
scanf("%d",&ADJ[i][j]);
if(ADJ[i][j] == 0)
ADJ[i][j] = 0x3f3f3f3f;
}
for(int k = 1; k <= N; ++k)
for(int i = 1; i <= N; ++i)
if(i != k )for(int j = 1; j <= N; ++j)
if(i !=j && k != j)
if(ADJ[i][k] + ADJ[k][j] < ADJ[i][j])
ADJ[i][j] = ADJ[i][k] + ADJ[k][j];
for(int i = 1; i <= N; ++i)
{
for(int j =1 ; j <= N; ++j)
{
if(ADJ[i][j] == 0x3f3f3f3f)
printf("0 ");
else
printf("%d ",ADJ[i][j]);
}
printf("\n");
}
return 0;
}