Pagini recente » Cod sursa (job #236113) | Cod sursa (job #3157100) | Cod sursa (job #3291070) | Cod sursa (job #3141145) | Cod sursa (job #3286122)
#include <bits/stdc++.h>
using namespace std;
int A[105][105] , n;
void royf(){
for(int k = 1;k <= n; ++k)
for(int i = 1;i <= n; ++i)
for(int j = 1;j <= n; ++j)
if(A[i][k] && A[k][j] && (A[i][j] > A[i][k] + A[k][j] || A[i][j] == 0) && i != j)
A[i][j] = A[i][k] + A[k][j];
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
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 >> A[i][j];
royf();
for(int i = 1;i <= n; ++i)
for(int j = 1;j <= n; ++j)
cout << A[i][j] << " \n"[j == n];
}