Pagini recente » Cod sursa (job #3262309) | Cod sursa (job #3292228) | Cod sursa (job #3258098) | Rating Popa Madalina (M.Madalina) | Cod sursa (job #143562)
Cod sursa(job #143562)
#include <iostream>
const int maxn = 101;
const int inf = 1 << 30;
FILE *in = fopen("royfloyd.in","r"), *out = fopen("royfloyd.out","w");
int n;
int a[maxn][maxn];
void read()
{
fscanf(in, "%d", &n);
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
{
fscanf(in, "%d", &a[i][j]);
if ( !a[i][j] && i != j )
a[i][j] = inf;
}
}
void rf()
{
for ( int k = 1; k <= n; ++k )
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
if ( a[i][k] != inf && a[k][j] != inf )
a[i][j] = a[i][j] > a[i][k] + a[k][j] ? a[i][k] + a[k][j] : a[i][j];
}
int main()
{
read();
rf();
for ( int i = 1; i <= n; ++i )
{
for ( int j = 1; j <= n; ++j )
fprintf(out, "%d ", a[i][j]);
fprintf(out, "\n");
}
return 0;
}