Pagini recente » Cod sursa (job #3206380) | Cod sursa (job #2914259) | Cod sursa (job #3144448) | Cod sursa (job #186906) | Cod sursa (job #2263162)
#include <bits/stdc++.h>
using namespace std;
int n,a[105][105];
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
void berlinski() {
in>>n;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j) {
in>>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)
out<<0<<" ";
else
out<<a[i][j]<<" ";
out<<endl;
}
}
int main() {
berlinski();
farcasanu();
cucu();
return 0;
}