Pagini recente » Cod sursa (job #1871636) | Cod sursa (job #807987) | Cod sursa (job #2401346) | Cod sursa (job #646792) | Cod sursa (job #184611)
Cod sursa(job #184611)
#include <cstdio>
#define DIM 111
using namespace std;
int N, A[DIM][DIM];
int main()
{
FILE *fin = fopen("royfloyd.in", "r");
FILE *fout = fopen("royfloyd.out", "w");
fscanf(fin, "%d", &N);
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
fscanf(fin, "%d", &A[i][j]);
for (int k = 1; k <= N; k++)
for (int i = 1; i <= N; i++)
for (int j = 1; j <= N; j++)
if (i != j && A[i][k] && A[k][j] && (!A[i][j] || A[i][j] > A[i][k] + A[k][j]))
A[i][j] = A[i][k] + A[k][j];
for (int i = 1; i <= N; i++)
{
for (int j = 1; j <= N; j++)
fprintf(fout, "%d ", A[i][j]);
fprintf(fout, "\n");
}
fclose(fin);
fclose(fout);
return 0;
}