Pagini recente » Cod sursa (job #3156714) | Cod sursa (job #3292693) | Cod sursa (job #3146687) | fmi-no-stress-2012 | Cod sursa (job #2752368)
#include <iostream>
#include <fstream>
#define NMAX (100 + 7)
#define inf (100*100*1000 + 7)
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int N, a[NMAX][NMAX], d[2][NMAX][NMAX];
int main() {
fin >> N;
for(int i = 1; i<= N; ++i) {
for(int j = 1; j<= N; ++j) {
fin >> a[i][j];
d[0][i][j] = (a[i][j] || i == j) ? a[i][j] : inf;
}
}
for(int k = 1, pk = 1; k<= N; ++k, pk = 1 - pk) {
for(int i = 1; i<= N; ++i) {
for(int j = 1; j<= N; ++j) {
d[pk][i][j] = min(d[1-pk][i][j], d[1-pk][i][k] + d[1-pk][k][j]);
if(k == N) fout << d[pk][i][j] << ' ';
}
if(k == N) fout << '\n';
}
}
}