Pagini recente » Cod sursa (job #2230775) | Cod sursa (job #304246) | Cod sursa (job #2927263) | Cod sursa (job #304244) | Cod sursa (job #146529)
Cod sursa(job #146529)
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
#define INF 99999999
long G[MAX][MAX], N;
void solve()
{
int i,j,k;
for (k = 0; k < N; k++)
for ( i = 0; i < N; i++)
for ( j = 0; j<N; j++)
if ( G[i][j] > G[i][k] + G[k][j] )
G[i][j] = G[i][k] + G[k][j];
}
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%ld", &N);
int i,j;
for (i = 0; i<N; i++)
for(j=0; j<N; j++)
{
scanf("%ld", &G[i][j]);
if ( !G[i][j] )
G[i][j] = INF;
}
solve();
for ( i = 0; i<N; i++, printf("\n") )
for ( j =0; j<N; j++)
if ( G[i][j] >= INF || i == j )
printf("0 ");
else
printf("%ld ", G[i][j]);
return 0;
}