Pagini recente » Cod sursa (job #2133478) | Cod sursa (job #888369) | Cod sursa (job #17413) | Cod sursa (job #902497) | Cod sursa (job #561015)
Cod sursa(job #561015)
/*
* File: main.cpp
* Author: zalman
*
* Created on March 18, 2011, 7:56 PM
*/
#include <cstdio>
#define NMAX 105
using namespace std;
int N, A[NMAX][NMAX];
void read(void)
{
FILE *f = fopen("royfloyd.in", "r");
fscanf(f, "%d", &N);
for(int i = 1; i <= N; ++i)
for(int j = 1; j <= N; ++j)
fscanf(f, "%d", &A[i][j]);
fclose(f);
}
void RoyFloyd(void)
{
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])
if(!A[i][j] || A[i][j] > A[i][k] + A[k][j])
A[i][j] = A[i][k] + A[k][j];
}
void print(void)
{
FILE *g = fopen("royfloyd.out", "w");
for(int i = 1; i <= N; ++i)
{
for(int j = 1; j <= N; ++j)
fprintf(g, "%d ", A[i][j]);
fprintf(g, "\n");
}
fclose(g);
}
int main(void)
{
read();
RoyFloyd();
print();
return 0;
}