Pagini recente » Cod sursa (job #2772829) | Cod sursa (job #582001) | Cod sursa (job #2543871) | Cod sursa (job #1023347) | Cod sursa (job #174216)
Cod sursa(job #174216)
#include <iostream>
#include <fstream>
using namespace std;
int N;
int D[101][101];
int main(int argc, char *argv[]) {
FILE *fi = fopen("royfloyd.in", "r");
fscanf(fi, "%d", &N);
for (int i(0); i < N; ++i)
for (int j(0); j < N; ++j) {
fscanf(fi, "%d", &D[i][j]);
if ((i != j) && (D[i][j] == 0))
D[i][j] = 1<<29;
}
fclose(fi);
for (int q(0); q < N; ++q)
for (int p(0); p < N; ++p)
for (int r(0); r < N; ++r)
if (D[p][q] + D[q][r] < D[p][r])
D[p][r] = D[p][q] + D[q][r];
FILE *fo = fopen("royfloyd.out", "w");
for (int i(0); i < N; ++i) {
for (int j(0); j < N; ++j)
fprintf(fo, "%d ", D[i][j]);
fprintf(fo, "\n");
}
fclose(fo);
return 0;
}