Pagini recente » Cod sursa (job #3216460) | Cod sursa (job #463929) | Istoria paginii runda/simulara.oji.2015.9d | Cod sursa (job #1288496) | Cod sursa (job #547929)
Cod sursa(job #547929)
#include<fstream>
using namespace std;
const int MaxN = 101;
int n,c[MaxN][MaxN];
inline void read()
{
ifstream f("royfloyd.in");
f >> n;
for( int i = 1 ; i <= n ; i++ )
for( int j = 1 ; j <= n ; j++ )
f >> c[i][j];
f.close();
}
inline void roy_floyd()
{
int i,j,k;
for( k = 1 ; k <= n ; k++ )
for( i = 1 ; i <= n ; i++ )
for( j = 1 ; j <= n ; j++ )
if( i != j && c[i][k] && c[k][j] && (c[i][j] > c[i][k]+c[k][j] || !c[i][j]) )
c[i][j] = c[i][k] + c[k][j];
}
inline void print()
{
int i,j;
ofstream g ("royfloyd.out");
for(i = 1 ; i <= n ; i++ )
{
for( j = 1 ; j < n ; j++ )
g << c[i][j] << ' ';
g << c[i][n] << '\n';
}
g.close();
}
int main()
{
read();
roy_floyd();
print();
return 0;
}