Pagini recente » Cod sursa (job #1811206) | Cod sursa (job #1549224) | Cod sursa (job #2531620) | Cod sursa (job #2252413) | Cod sursa (job #2283381)
#include <bits/stdc++.h>
#define maxn 100
#define INF INT_MAX / 2
using namespace std;
int ad[maxn+5][maxn+5];
int main ()
{
ifstream fin ( "royfloyd.in" );
ofstream fout ( "royfloyd.out" );
int n;
fin >> n;
int i, j, k;
for ( i = 0; i < n; i++ )
for ( j = 0; j < n; j++ )
{
fin >> ad[i][j];
if ( ad[i][j] == 0 )
ad[i][j] = INF;
}
for ( k = 0; k < n; k++ )
for ( i = 0; i < n; i++ )
for ( j = 0; j < n; j++ )
if ( i != j && ad[i][j] > ad[i][k] + ad[k][j] )
ad[i][j] = ad[i][k] + ad[k][j];
for ( i = 0; i < n; i++, fout.put ( '\n' ) )
for ( j = 0; j < n; j++ )
if ( ad[i][j] == INF )
fout << 0 << ' ';
else
fout << ad[i][j] << ' ';
fin.close ();
fout.close ();
return 0;
}