Pagini recente »
Cod sursă (job #301645)
|
Cod sursă (job #708097)
|
Cod sursă (job #486243)
|
2024-03-08-clasa-5-tema-30
|
Cod sursă (job #178967)
Cod sursă (job
#178967)
#include <fstream>
using namespace std;
int v_st[200001], v_dr[200001], arb_st[200001], arb_dr[200001];
int prec = -1, prim;
void inordine(int nod);
int main() {
int n, rad;
ifstream in("pointeri.in");
in >> n >> rad;
for (int i = 0; i < n; i++)
in >> arb_st[i];
for (int i = 0; i < n; i++)
in >> arb_dr[i];
inordine(rad);
v_dr[prec] = -1;
in.close();
ofstream out("pointeri.out");
out << prim << '\n';
for (int i = 0; i < n; i++)
out << v_st[i] << ' ';
out << '\n';
for (int i = 0; i < n; i++)
out << v_dr[i] << ' ';
out.close();
return 0;
}
void inordine(int n) {
if (arb_st[n] != -1)
inordine(arb_st[n]);
if (prec == -1) {
prim = n;
v_st[n] = -1;
}
else {
v_dr[prec] = n;
v_st[n] = prec;
}
prec = n;
if (arb_dr[n] != -1)
inordine(arb_dr[n]);
}