Pagini recente » Cod sursa (job #798364) | Rating Mihnea Savu (rebound212) | Cod sursa (job #454846) | Cod sursa (job #2685952) | Cod sursa (job #803531)
Cod sursa(job #803531)
#include <cstdio>
#define NMAX 101
using namespace std;
FILE *inFile = fopen ("royfloyd.in", "r");
FILE *outFile = fopen ("royfloyd.out", "w");
int n;
int cost[NMAX][NMAX];
void read()
{
fscanf (inFile, "%d\n", &n);
for (int i = 1; i <= n; ++ i)
for (int j = 1; j <= n; ++ j)
fscanf (inFile, "%d ", &cost[i][j]);
}
void royfloyd()
{
for (int k = 1; k <= n; ++ k)
for (int i = 1; i <= n; ++ i)
for (int j = 1; j <= n; ++ j)
if (i != j && cost[i][k] + cost[k][j] < cost[i][j])
cost[i][j] = cost[i][k] + cost[k][j];
}
void write()
{
for (int i = 1; i <= n; ++ i)
{
for (int j = 1; j <= n; ++ j)
fprintf (outFile, "%d ", cost[i][j]);
fprintf (outFile, "\n");
}
}
int main()
{
read();
royfloyd();
write();
return 0;
}