Pagini recente » Cod sursa (job #1102971) | Cod sursa (job #2645489) | Cod sursa (job #849327) | Cod sursa (job #1357235) | Cod sursa (job #3251495)
#include <bits/stdc++.h>
using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
int dist[505][505];
int n;
int inf=1000000000;
int main(){
fi >> n;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; ++j) {
fi >> dist[i][j];
if(dist[i][j] == 0){dist[i][j] = inf;}
if(i == j){dist[i][j] = 0;}
}
}
for(int k = 0; k < n; ++k) {
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
}
}
}
for(int i = 0; i < n; ++i) {
for(int j = 0; j < n; ++j) {
fo << dist[i][j] << ' ';
}
fo << '\n';
}
return 0;
}