#3992. 题目 1:完全二叉树节点编号
题目 1:完全二叉树节点编号
题目描述
给定一个正整数 $n$,表示一棵完全二叉树的节点总数。节点编号从 1 到 $n$(根节点编号为 1)。 请你输出这棵树的“节点 $i$ 的左、右孩子编号”信息,如果某个孩子不存在,输出 -1。
具体地:
- 对于每个节点编号 $i$($1 \le i \le n$),如果 $2i \le n$ 则左孩子编号为 $2i$;否则左孩子为 -1。
- 如果 $2i+1 \le n$ 则右孩子编号为 $2i+1$;否则右孩子为 -1。
请按节点编号从 1 到 $n$ 的顺序,逐行输出每个节点的左右孩子编号。
输入格式
n
- 第一行一个正整数 $n$,表示完全二叉树的节点总数。($1 \le n \le 10^6$)
输出格式
共 $n$ 行,第 $i$ 行输出两个整数,表示节点编号 $i$ 的左孩子和右孩子编号。 如果某个孩子不存在,则输出 -1。例如:
left_i right_i
代表编号为 $i$ 的节点,左孩子编号为 left_i
,右孩子编号为 right_i
。
7
2 3
4 5
6 7
-1 -1
-1 -1
-1 -1
-1 -1
解释:
- 节点 1 的左右孩子分别是 2, 3;
- 节点 2 的左右孩子分别是 4, 5;
- 节点 3 的左右孩子分别是 6, 7;
- 节点 4–7 没有孩子,均输出
-1 -1
。