Pagini recente » Cod sursa (job #1332343) | Cod sursa (job #2801748) | Cod sursa (job #1597804) | Cod sursa (job #1828360) | Cod sursa (job #2263159)
#include <bits/stdc++.h>
using namespace std;
int n,a[105][105];
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
void berlinski() {
cin>>n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j) {
cin>>a[i][j];
if (a[i][j] == 0)
a[i][j] = 1<<30;
}
}
void farcasanu() {
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)
continue;
a[i][j] = min(a[i][j],a[i][k] + a[k][j]);
}
}
void cucu() {
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n; ++j)
if (a[i][j] == 1<<30)
cout<<0<<" ";
else
cout<<a[i][j]<<" ";
cout<<endl;
}
}
int main() {
berlinski();
farcasanu();
cucu();
return 0;
}