Pagini recente » Cod sursa (job #3249669) | Cod sursa (job #2974132) | Cod sursa (job #71822) | Cod sursa (job #156335) | Cod sursa (job #861960)
Cod sursa(job #861960)
#include <stdio.h>
#include <string.h>
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, i, j, k;
int dmin[101][101];
FILE *fin, *fout;
fin = fopen ("royfloyd.in", "r");
fscanf (fin, "%d", &n);
for (i = 0; i < n; i++)
for (j = 0; j < n; j++) {
fscanf (fin, "%d", &dmin[i][j]);
if (dmin[i][j] == 0)
dmin[i][j] = 1002;
}
for (k = 0; k < n; k++)
for (i = 0; i < n; i++)
for (j = 0; j < n; j++)
{
if (i!=j)
if (dmin[i][j] > (dmin[i][k] + dmin[k][j])) {
dmin[i][j] = dmin[i][k] + dmin[k][j];
// kmin[i][j] = k;
}
}
fout = fopen ("royfloyd.out", "w");
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (dmin[i][j] != 1002)
fprintf (fout, "%d ", dmin[i][j]);
else
fprintf (fout, "0 ");
}
fprintf (fout, "\n");
}
return 0;
}