Pagini recente » Cod sursa (job #1018705) | Cod sursa (job #1864657) | Cod sursa (job #2650327) | Cod sursa (job #134682) | Cod sursa (job #3210544)
#include<bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
const int NMAX = 105, INF = 1e9 + 7;
int n, v[NMAX][NMAX];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
cin >> n;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cin >> v[i][j];
if(!v[i][j] && 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 || j == k || i == k || v[i][k] == 0 || v[k][j] == 0)
continue;
if(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";
}
}