Pagini recente » Cod sursa (job #2413579) | Cod sursa (job #1202838) | Cod sursa (job #1194627) | Cod sursa (job #1837793) | Cod sursa (job #1959484)
#include <cstdio>
#include <algorithm>
#define NMax 100
#define oo 1<<29
using namespace std;
int cost[NMax+1][NMax+1];
int main(){
FILE* fin = fopen("royfloyd.in","r");
FILE* fout = fopen("royfloyd.out","w");
int k,i,j,x,N;
fscanf(fin,"%d",&N);
for(i = 1; i <= N; ++i)
for(j = 1; j <= N; ++j)
{
fscanf(fin,"%d",&x);
if(!x) cost[i][j] = oo;
else cost[i][j] = x;
}
for(k = 1; k <= N; ++k)
for(i = 1; i <= N; ++i)
for(j = 1; j <= N; ++j)
if(i != j) cost[i][j] = min(cost[i][j], cost[i][k] + cost[k][j]);
for(i = 1; i <= N; ++i)
{
for(j = 1; j <= N; ++j)
if(cost[i][j] == oo) fprintf(fout,"0 ");
else fprintf(fout,"%d ",cost[i][j]);
fprintf(fout,"\n");
}
return 0;
}