Pagini recente » Statistici Cristina Cotor (cristina_cotor) | Cod sursa (job #178066) | Cod sursa (job #2377844) | Cod sursa (job #2600564) | Cod sursa (job #1278170)
#include <fstream>
#define DIM 101
#define INF 0x3f3f3f3f
using namespace std;
ifstream is("royfloyd.in");
ofstream os("royfloyd.out");
int n, a[DIM][DIM];
int c[DIM][DIM];
void Read();
void FW();
void Write();
int main()
{
Read();
FW();
Write();
is.close();
os.close();
return 0;
}
void Read()
{
is >> n;
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
{
is >> c[i][j];
if ( !c[i][j] )
c[i][j] = INF;
}
}
void FW()
{
for ( int k = 1; k <= n; ++k )
for ( int i = 1; i <= n; ++i )
for ( int j = 1; j <= n; ++j )
if ( c[i][j] > c[i][k] + c[k][j] && i != j)
c[i][j] = c[i][k] + c[k][j];
}
void Write()
{
for ( int i = 1; i <= n; ++i )
{
for ( int j = 1; j <= n; ++j )
if ( c[i][j] != INF )
os << c[i][j] << ' ';
else
os << "0 ";
os << '\n';
}
}