Pagini recente » Cod sursa (job #3164848) | Cod sursa (job #3151198) | Cod sursa (job #365029) | Cod sursa (job #3128853) | Cod sursa (job #379058)
Cod sursa(job #379058)
#include <vector>
#include <fstream>
#define pb push_back
#define INF 0x3f3f3f3f
/*
*
*/
using namespace std;
vector< vector<int> > v;
inline int min( int x, int y )
{
return y^( (x^y) & -(x<y) );
}
int main()
{int n, i, j, k, x;
ifstream in("royfloyd.in");
in>>n;
v.resize(n);
for( i=0; i < n; ++i )
for( j=0; j < n; ++j)
{
in>>x;
if( 0 == x )
v[i].pb(INF);
else v[i].pb(x);
}
for( k=0; k < n; ++k )
for( i=0; i < n; ++i )
for( j=0; j < n; ++j )
if( i !=j )
v[i][j]=min( v[i][j], v[i][k]+v[k][j] );
ofstream out("royfloyd.out");
for( i=0; i < n; ++i )
{
for( j=0; j < n; ++j )
{
if( INF == v[i][j] )
out<<"0 ";
else out<<v[i][j]<<' ';
}
out<<'\n';
}
return 0;
}