Pagini recente » Cod sursa (job #280746) | Cod sursa (job #1926331) | Cod sursa (job #1885569) | Cod sursa (job #1213643) | Cod sursa (job #2271591)
#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) {
for (j = 1; j <= N; ++j) {
if (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;
}