Pagini recente » Cod sursa (job #1114027) | Cod sursa (job #2229934) | Cod sursa (job #800602) | Cod sursa (job #1999518)
#include <fstream>
using namespace std;
int main() {
ifstream in("royfloyd.in");
short N;
in >> N;
int** hossz = new int*[N];
for (short i = 0;i < N;++i) hossz[i] = new int[N];
for (short i = 0;i < N;++i)
for (short j = 0;j < N;++j) {
in >> hossz[i][j];
if (!hossz[i][j] && i != j)
hossz[i][j] = 1 << 30;
}
in.close();
for (short k = 0;k < N;++k)
for (short i = 0;i < N;++i)
for (short j = 0;j < N;++j)
if (hossz[i][j] > hossz[i][k] + hossz[k][j])
hossz[i][j] = hossz[i][k] + hossz[k][j];
ofstream out("royfloyd.out");
for (short i = 0;i < N;++i) {
for (short j = 0;j < N;++j)
if (hossz[i][j] >= (1 << 30)) out << 0;
else out << hossz[i][j] << " ";
out << "\n";
}
out.close();
}