Pagini recente » Cod sursa (job #2326154) | Cod sursa (job #1133272) | Cod sursa (job #1835067) | Cod sursa (job #2715044) | Cod sursa (job #1125268)
#include <iostream>
#include <fstream>
using namespace std;
const int Nmax = 102;
int D[Nmax][Nmax];
int N;
int main()
{
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f >> N;
for ( int i = 1; i <= N; ++i )
for ( int j = 1; j <= N; ++j )
f >> D[i][j];
for ( int k = 1; k <= N; ++k )
for ( int i = 1; i <= N; ++i )
for ( int j = 1; j <= N; ++j )
if ( i != j && D[i][k] && D[k][j] && ( D[i][j] == 0 || D[i][j] > D[i][k] + D[k][j] ) )
D[i][j] = D[i][k] + D[k][j];
for ( int i = 1; i <= N; ++i, g << "\n" )
for ( int j = 1; j <= N; ++j )
g << D[i][j] << " ";
return 0;
}