Pagini recente » Cod sursa (job #1282532) | Cod sursa (job #545372) | Cod sursa (job #1435637) | Cod sursa (job #1662984) | Cod sursa (job #2174401)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMax = 105;
const int inf = 0x3f3f3f3f;
int N;
int v[NMax][NMax];
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &N);
for(int i=1; i<=N; ++i)
for(int j=1; j<=N; ++j)
{
scanf("%d",&v[i][j]);
if(i!=j && !v[i][j])
v[i][j] = inf;
}
for(int k=1; k<=N; ++k)
for(int i=1; i<=N; ++i)
for(int j=1; j<=N; ++j)
if(i!=j && k!=i && k!=j && v[i][j] > v[i][k] + v[k][j])
v[i][j] = v[i][k] + v[k][j];
for(int i=1; i<=N; ++i)
{
for(int j=1; j<=N; ++j)
cout << v[i][j] << " ";
cout << "\n";
}
return 0;
}