Pagini recente » Cod sursa (job #1824102) | Cod sursa (job #1035741) | Cod sursa (job #865132) | Cod sursa (job #1598280) | Cod sursa (job #2271593)
#include<fstream>
using namespace std;
#define NMAX 101
int N, i, j, k, A[NMAX][NMAX];
void FloydDashWarshal() {
for (k = 1; k <= N; ++k) {
for (i = 1; i <= N; ++i) {
if (i != k) {
for (j = 1; j <= N; ++j) {
if (k != j && i != j && A[i][j] > A[i][k] + A[k][j]) {
A[i][j] = A[i][k] + A[k][j];
}
}
}
}
}
}
void printSolution(ofstream &fout) {
for (i = 1; i <= N; ++i) {
for (j = 1; j <= N; ++j) {
fout << A[i][j] << " ";
}
fout << "\n";
}
}
void readDataAndCompute(ifstream &fin, ofstream &fout) {
fin >> N;
for (i = 1; i <= N; ++i) {
for (j = 1; j <= N; ++j) {
fin >> A[i][j];
}
}
FloydDashWarshal();
}
int main() {
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
readDataAndCompute(fin, fout);
printSolution(fout);
fin.close();
fout.close();
return 0;
}