Pagini recente » Cod sursa (job #43911) | Cod sursa (job #719259) | Cod sursa (job #2916041) | Cod sursa (job #2749877) | Cod sursa (job #2510286)
#include <bits/stdc++.h>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int main() {
int n, a[205][205], ans[205][205];
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) ans[i][j] = 1<<30;
else ans[i][j] = a[i][j];
}
}
for(int k = 1; k <= n; ++k) {
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
if(i != j && ans[i][j] > ans[i][k] + ans[k][j]) {
ans[i][j] = ans[i][k] + ans[k][j];
}
}
}
}
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= n; ++j) {
if(ans[i][j] == 1<<30 || i == j) out<<0<<" ";
else out<<ans[i][j]<<" ";
}
out<<"\n";
}
return 0;
}