Pagini recente » Cod sursa (job #1148538) | Cod sursa (job #90601) | Cod sursa (job #28144) | Cod sursa (job #1691947) | Cod sursa (job #174196)
Cod sursa(job #174196)
#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]);
fclose(fi);
for (int q(0); q < N; ++q)
for (int p(0); p < N; ++p)
for (int r(0); r < N; ++r)
if (p != r)
if (D[p][q] && D[q][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;
}