传统题 1000ms 256MiB

F. 重建二叉树

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

F. 重建二叉树

题目描述

给定一棵二叉树的先序遍历和中序遍历,请重建一棵以 1 号节点为根 的二叉树。


输入格式

第一行:NN 第二行:P1 P2  PNP_1\ P_2\ \dots\ P_N(先序遍历序列) 第三行:I1 I2  INI_1\ I_2\ \dots\ I_N(中序遍历序列)


输出格式

如果无解输出 -1,否则第 ii 行输出节点 ii 的左右儿子,儿子为空则输出 0


样例

输入样例 #1

6
1 3 5 6 4 2
3 5 1 4 6 2

输出样例 #1

3 6
0 0
0 5
0 0
0 0
4 2

输入样例 #2

2
2 1
1 2

输出样例 #2

-1

数据范围与提示

  • 2<N<2×1052 < N < 2 \times 10^5
  • (P1,P2,,PN)(P_1, P_2, \dots, P_N)(1,2,,N)(1, 2, \dots, N) 的排列
  • (I1,I2,,IN)(I_1, I_2, \dots, I_N)(1,2,,N)(1, 2, \dots, N) 的排列

20260328

未认领
状态
已结束
题目
14
开始时间
2026-3-26 0:00
截止时间
2026-4-30 23:59
可延期
24 小时