Pagini recente » Cod sursa (job #2456641) | Cod sursa (job #2456293) | Cod sursa (job #370808) | Cod sursa (job #2899025) | Cod sursa (job #2801465)
#include <iostream>
#include <stdio.h>
using namespace std;
#define MAXN 100
#define INF 2001
int d[MAXN][MAXN];
int main()
{
FILE *fin, *fout;
int i, j, k, n;
fin = fopen("royfloyd.in", "r");
fscanf(fin, "%d", &n);
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
fscanf(fin, "%d", &d[i][j]);
if((d[i][j] == 0) && (i != j)){
d[i][j] = INF;
}
}
}
fclose(fin);
for(k = 0; k < n; k++){
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
if(d[i][j] > (d[i][k] + d[k][j])){
d[i][j] = d[i][k] + d[k][j];
}
}
}
}
fout = fopen("royfloyd.out", "w");
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
fprintf(fout, "%d ", d[i][j]);
}
fprintf(fout, "\n");
}
fclose(fout);
return 0;
}