Pagini recente » Cod sursa (job #2565570) | Cod sursa (job #2456933) | Cod sursa (job #2619701) | Cod sursa (job #897970) | Cod sursa (job #2138218)
#include <iostream>
#include <cstdio>
using namespace std;
const int infinit = 10000000;
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int n;
int a[110][110];
cin >> n;
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
{
cin >> a[i][j];
if(a[i][j] == 0)
a[i][j] = infinit;
}
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
for(int k = 0; k < n; ++k)
if(a[j][i] + a[i][k] < a[j][k])
a[j][k] = a[j][i] + a[i][k];
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
if(a[i][j] != infinit && i != j)
cout << a[i][j] << " \n"[j == n - 1];
else
cout << 0 << " \n"[j == n - 1];
return 0;
}