Pagini recente » Cod sursa (job #538026) | Cod sursa (job #1893513) | Cod sursa (job #1712163) | Cod sursa (job #136183) | Cod sursa (job #989595)
Cod sursa(job #989595)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int N;
in>>N;
int i,j,k;
int matrix[100][100];
for ( i = 0 ; i < N; i++)
for ( j= 0 ; j< N; j++)
in>>matrix[i][j];
for ( k = 0 ; k <N ; k++)
for ( i= 0 ; i< N ; i++)
for ( j= 0; j < N ; j++)
{
if ( i == j || i == k || j == k) continue;
if (( matrix[i][j] > matrix[i][k] + matrix [k][j] || matrix[i][j] == 0 ) && matrix[i][k] != 0 && matrix[k][j] != 0 )
matrix[i][j] = matrix[i][k] + matrix [k][j];
}
for ( i = 0 ; i < N; i++)
for (j = 0; j < N; j++)
{
if ( j == 0 ) out << matrix[i][j] ;
else if ( j == N-1) out << " " << matrix[i][j] << "\n";
else out << " " << matrix[i][j] ;
}
in.close();
out.close();
return 0;
}