Pagini recente » Cod sursa (job #1531122) | Cod sursa (job #1546948) | Cod sursa (job #2056216) | Cod sursa (job #2371346) | Cod sursa (job #1581798)
#include <iostream>
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
#define MAX 101
#define pb push_back
#define inf 0x3f3f3f3f
int n , m , i , x , y , z , j , k;
vector < pair < int , int > > G[MAX];
int a[MAX][MAX];
int main()
{
f >> n;
for ( i = 1; i <= n ; i++ )
for ( j = 1; j <= n ; j++ )
f >> a[i][j];
for ( k = 1 ; k <= n ; k++ )
for ( i = 1; i <= n ; i++ )
for ( j = 1; j <= n ; j++ )
if (a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j) a[i][j] = a[i][k] + a[k][j];
for ( i = 1; i <= n ; i++ )
{
for ( j = 1; j <= n ; j++ )
if ( a[i][j] == inf )
g << -1 << " " ;
else g << a[i][j] << " " ;
g << "\n" ;
}
return 0;
}