QOJ.ac

QOJ

시간 제한: 2.0 s 메모리 제한: 512 MB 총점: 100

#16950. 几乎平衡树

통계

考虑一棵二叉树,每个节点的权值为 $1$ 或 $2$。子树的权值是该子树中所有节点的权值之和。空树的权值为 $0$。

如果对于二叉树中的每个节点,其左右子树的权值之差最多为 $1$(如果某个子节点缺失,则其子树权值视为 $0$),则称该二叉树是几乎平衡的(almost balanced)。

下面是一个几乎平衡二叉树的例子:

你的任务是构造任意一棵恰好含有 $A$ 个权值为 $1$ 的节点和 $B$ 个权值为 $2$ 的节点的几乎平衡二叉树,或者说明这是不可能的。

输入格式

输入包含两个非负整数 $A$ 和 $B$($1 \le A + B \le 100\,000$)。

输出格式

将树中的节点用 $1$ 到 $A + B$ 的整数进行编号,其中节点 $1$ 必须是树的根节点。输出 $A + B$ 行,每行对应一个节点。每行应包含三个整数——该节点的权值,以及其左子节点和右子节点的编号。如果对应的子节点不存在,则输出 $0$。

如果无法构造出几乎平衡树,输出 $-1$。

如果存在多种可能的答案,输出其中任意一种即可。

样例

输入样例 1

6 3

输出样例 1

1 2 5
1 3 4
2 0 0
2 0 0
1 6 7
2 0 8
1 0 9
1 0 0
1 0 0

输入样例 2

0 2

输出样例 2

-1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.