Pagini recente » Cod sursa (job #984130) | Cod sursa (job #695258) | Cod sursa (job #3005245) | Cod sursa (job #190588) | Cod sursa (job #904122)
Cod sursa(job #904122)
#include <iostream>
#include <fstream>
using namespace std;
FILE *f=fopen("royfloyd.in","r"),*g=fopen("royfloyd.out","w");
const int maxn=105;
int n,x[maxn][maxn],i,j,k;
void read()
{
fscanf(f , "%d" , &n );
for( i=1 ; i<=n ; i++ )
for( j=1 ; j<=n ; j++ )
fscanf(f , "%d" , &x[i][j] );
}
void write()
{
for( i=1 ; i<=n ; i++ , fprintf(g , "\n" ) )
for( j=1 ; j<=n ; j++)
fprintf(g , "%d " , x[i][j] );
}
int main()
{
read();
for( i=1 ; i<=n ; i++ )
for( j=1 ; j<=n ; j++ )
for( k=1 ; k<=n ; k++ )
if( x[j][i] && x[i][k] && (x[j][k] > x[j][i] + x[i][k] || !x[j][k] ) && k!=j )
x[j][k] = x[j][i] + x[i][k] ;
write();
return 0;
}