Pagini recente » Cod sursa (job #2126828) | Cod sursa (job #1204756) | Cod sursa (job #1109185) | Cod sursa (job #964919) | Cod sursa (job #1312475)
#include <fstream>
#define INF 0x7fff
using namespace std;
short a[101][101];
int main()
{
FILE * fin = fopen("royfloyd.in", "r");
FILE * fout = fopen("royfloyd.out", "w");
short int i, j, n, k;
fscanf(fin, "%hd", &n);
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j)
{
fscanf(fin, "%hd", &a[i][j]);
if (!a[i][j] && (i != j))
{
a[i][j] = INF;
}
}
for (k = 1; k <= n; ++k)
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j)
{
if (a[i][k] + a[k][j] < a[i][j])
{
a[i][j] = a[i][k] + a[k][j];
}
}
for (i = 1; i <= n; ++i)
{
for (j = 1; j <= n; ++j)
{
if (a[i][j] == INF)
{
a[i][j] = 0;
}
fprintf(fout, "%hd ", a[i][j]);
}
fprintf(fout, "\n");
}
fclose(fin);
fclose(fout);
return 0;
}