Pagini recente » Cod sursa (job #1038256) | Cod sursa (job #2039773) | Cod sursa (job #1819437) | Cod sursa (job #2409718) | Cod sursa (job #2226219)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, char const *argv[]) {
ifstream inFile;
inFile.open("royfloyd.in");
ofstream outf("royfloyd.out");
int nums;
inFile >> nums;
int matr[nums][nums];
for (int i = 0; i < nums; ++i)
for (int j = 0; j < nums; ++j)
inFile >> matr[i][j];
for (int i = 0; i < nums; ++i)
for (int j = 0; j < nums; ++j)
if (i != j)
for (int k = 0; k < nums; ++k)
if (matr[i][k] != 0 && matr[k][j] != 0) {
if (matr[i][j] > matr[i][k] + matr[k][j] || matr[i][j] == 0)
matr[i][j] = matr[i][k] + matr[k][j];
}
for (int i = 0; i < nums; ++i) {
for (int j = 0; j < nums; ++j) {
outf << matr[i][j] << " ";
}
outf << "\n";
}
outf.close();
inFile.close();
return 0;
}