Pagini recente » Cod sursa (job #66737) | Cod sursa (job #46174) | Cod sursa (job #1954475) | Cod sursa (job #292472) | Cod sursa (job #2198421)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
const int nMax = 100, infinit = 1000000;
int d[nMax + 5][nMax + 5];
int main() {
int n, i, j, k;
f >> n;
for(i = 1; i <= n; ++i) {
for(j = 1; j <= n; ++j) {
f >> d[i][j];
if(i != j && d[i][j] == 0) {
d[i][j] = infinit;
}
}
}
for(k = 1; k <= n; ++k) {
for(i = 1; i <= n; ++i) {
for( j =1; j <= n; ++j) {
d[i][j] = min(d[i][j], d[i][k] + d[k][j]);
}
}
}
for(i = 1; i <= n; ++i) {
for(j = 1; j <= n; ++j) {
if(d[i][j] == infinit) {
d[i][j] = 0;
}
g << d[i][j] << " ";
}
g << endl;
}
}