Pagini recente » Cod sursa (job #808869) | Cod sursa (job #285832) | Cod sursa (job #1283365) | Cod sursa (job #3316748) | Cod sursa (job #3316746)
// https://www.infoarena.ro/problema/royfloyd - Szucs Patrik - Kevin
#include <fstream>
int main()
{
int n;
std::ifstream in("royfloyd.in");
in >> n;
int **mtrx = new int *[n];
for (int i = 0; i < n; i++)
{
mtrx[i] = new int[n];
}
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
in >> mtrx[i][j];
in.close();
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
for (int k = 0; k < n; k++)
if (mtrx[j][k] > mtrx[j][i] + mtrx[i][k])
mtrx[j][k] = mtrx[j][i] + mtrx[i][k];
std::ofstream out("royfloyd.out");
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
out << mtrx[i][j] << ' ';
}
out << '\n';
}
out.close();
for (int i = 0; i < n; i++)
{
delete[] mtrx[i];
}
delete[] mtrx;
return 0;
}