Pagini recente » Cod sursa (job #2761068) | Cod sursa (job #1157605) | Cod sursa (job #2083801) | Cod sursa (job #2779236) | Cod sursa (job #2516557)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "royfloyd.in" );
ofstream fout( "royfloyd.out" );
const int NMAX = 100;
const int INF = 2000000000;
int N;
int mat[NMAX + 2][NMAX + 2];
void Read()
{
fin >> N;
for( int i = 1; i <= N; ++i )
for( int j = 1; j <= N; ++j )
fin >> mat[i][j];
}
void Do()
{
for( int k = 1; k <= N; ++k )
for( int i = 1; i <= N; ++i )
for( int j = 1; j <= N; ++j )
if( i != j && mat[i][k] > 0 && mat[k][j] > 0 )
if( mat[i][k] + mat[k][j] < mat[i][j] )
mat[i][j] = mat[i][k] + mat[k][j];
for( int i = 1; i <= N; ++i )
{
for( int j = 1; j <= N; ++j )
fout << mat[i][j] << ' ';
fout << '\n';
}
}
int main()
{
Read();
Do();
return 0;
}