P7673 [COCI 2013/2014 #5] OBILAZAK

题目描述

给出一棵有 $2^K-1$ 个节点的完全二叉树,遍历这棵树的规律如下: - 起点是二叉树第一层的唯一一个节点。 - 如果当前节点的左孩子还没有记录到,那么就记录左孩子的编号并移动到左孩子处。 - 如果当前节点没有左孩子或者左孩子已经记录过,就记录当前节点的编号。 - 如果当前节点已经记录过,那么就记录右孩子的编号并移动到右孩子处。 - 如果当前节点及此节点的左右孩子都已经记录过,那么就移动到当前节点的父节点处。 现在给出从第一层的节点出发记录下的编号顺序,请你求出原本的完全二叉树。

输入格式

第一行,一个整数 $K$,表示这个完全二叉树有 $2^K-1$ 个节点; 第二行,$2^K-1$ 个整数,表示从第一层的节点出发记录下的编号顺序。

输出格式

输出共 $K$ 行,为原本的完全二叉树。

说明/提示

**【样例解释 #1】** ![](https://cdn.luogu.com.cn/upload/image_hosting/wk4ai6vq.png) 先移动到节点 $1$,发现左孩子没有记录,移动到节点 $2$ 并记录节点 $2$;发现节点 $2$ 没有孩子,返回节点 $1$ ,发现此节点没有记录,记录节点 $1$;发现右孩子没有记录,移动到节点 $3$ 并记录节点 $3$。 **【样例解释 #2】** ![](https://cdn.luogu.com.cn/upload/image_hosting/e8txnko0.png) **【数据范围】** 对于 $100\%$ 的数据,$1\le K\le 10$。 **【说明】** 本题分值按 COCI 原题设置,满分 $80$。 题目译自[COCI2013_2014](https://hsin.hr/coci/archive/2013_2014/) [CONTEST #5](https://hsin.hr/coci/archive/2013_2014/contest5_tasks.pdf) _**T2 OBILAZAK**_