Pagini recente » Cod sursa (job #192261) | Cod sursa (job #759869) | Cod sursa (job #1168469) | Cod sursa (job #14543) | Cod sursa (job #272227)
Cod sursa(job #272227)
#include <stdio.h>
const int maxn = 101;
int r[maxn][maxn], c[maxn][maxn], n;
int main()
{
int i=0,j=0,k=0;
FILE *fin = fopen("royfloyd.in", "rt"), *fout = fopen("royfloyd.out", "wt");
fscanf(fin, "%d", &n);
for (i=1; i <= n; i++)
for (j=1; j <= n; j++)
fscanf(fin, "%d", &c[i][j]);
for (i=1; i <= n; i++)
for (j=1; j <= n; j++) r[i][j]=c[i][j];
for (k=1; k<=n; k++)
for (i=1; i <= n; i++)
for (j=1; j <=n; j++)
if (r[i][k] && r[k][j])
if (r[i][j] > r[i][k] + r[k][j])
r[i][j] = r[i][k] + r[k][j];
for (i=1; i <= n; i++)
{
for (j=1; j <= n; j++)
fprintf(fout, "%d ", r[i][j]);
fprintf(fout, "\n");
}
fclose(fin), fclose(fout);
return 0;
}