Pagini recente » Cod sursa (job #1091952) | Cod sursa (job #1712953) | Cod sursa (job #2766891) | Cod sursa (job #716825) | Cod sursa (job #1791627)
#include<fstream>
#define NMax 105
#define oo 1<<14
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N;
int D[NMax][NMax];
void Read()
{
fin>>N;
for(int i = 1 ; i <= N ; ++i)
for(int j = 1 ; j <= N ; ++j)
{
int x; fin>>x;
if(!x && i != j)
D[i][j] = oo;
else
D[i][j] = x;
}
}
void Solve()
{
for(int k = 1 ; k <= N ; ++k)
for(int i = 1 ; i <= N ; ++i)
for(int j = 1 ; j <= N ; ++j)
D[i][j] = min( D[i][j] , D[i][k] + D[k][j] );
}
void Print()
{
for(int i = 1 ; i <= N ; ++i)
{
for(int j = 1 ; j <= N ; ++j)
{
if(D[i][j] == oo) fout<<"0 ";
else fout<<D[i][j]<<" ";
}
fout<<"\n";
}
}
int main()
{
Read();
Solve();
Print();
fin.close();
fout.close();
return 0;
}