Pagini recente » Cod sursa (job #111975) | Cod sursa (job #470494) | Cod sursa (job #372754) | Cod sursa (job #65803) | Cod sursa (job #1391094)
#include <fstream>
using namespace std;
#define INF 20000000
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int M[101][101],i,j,k,n,m;
int main()
{
fin>>n;
for(i=1 ; i<=n ; ++i)
for(j=1; j<=n ; ++j)
fin>>M[ i ][ j ];
for(i=1 ; i<=n ; ++i)
for(j=1 ; j<=n ; ++j)
if( M[ i ][ j ] == 0 )
M[ i ][ j ] = INF;
for(k=1 ; k<=n ; ++k)
for(i=1 ; i<=n ; ++i)
for(j=1 ; j<=n ; ++j)
if( M[ i ][ j ] > M[ i ][ k ] + M[ k ][ j ] && i != j )
M[ i ][ j ] = M[ i ][ k ] + M[ k ][ j ];
for(i=1 ; i<=n ; ++i,fout<<'\n')
for(j=1 ; j<=n ; ++j)
if( M[ i ][ j ] == INF )
fout<<0<<' ';
else
fout<<M[ i ][ j ]<<' ';
return 0;
}