Pagini recente » Cod sursa (job #2460610) | Cod sursa (job #2518216) | Cod sursa (job #1537203) | Cod sursa (job #850202) | Cod sursa (job #659394)
Cod sursa(job #659394)
#include<cstdio>
#include<fstream>
using namespace std;
const int MaxN = 101;
const char InFile[] = "royfloyd.in";
const char OutFile[] = "royfloyd.out";
int N,G[MaxN][MaxN];
ifstream fin(InFile);
ofstream fout(OutFile);
int main()
{
fin >> N;
int i,j,k;
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
fin >> G[i][j];
fin.close();
for( k = 1 ; k <= N ; k++ )
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
if( G[i][k] && G[k][j] && (G[i][k] + G[k][j] < G[i][j] || !G[i][j]) && i != j )
G[i][j] = G[i][k] + G[k][j];
for( i = 1 ; i <= N ; i++ )
{
for( j = 1 ; j <= N ; j++ )
fout << G[i][j] << ' ';
fout << '\n';
}
fout.close();
return 0;
}