打卡信奥刷题(390)用Scratch图形化工具信奥P7673[普及组/提高组] [COCI2013-2014#5] OBILAZAK

[COCI2013-2014#5] OBILAZAK

题目描述

给出一棵有 2 K − 1 2^K-1 2K1 个节点的完全二叉树,遍历这棵树的规律如下:

  • 起点是二叉树第一层的唯一一个节点。

  • 如果当前节点的左孩子还没有记录到,那么就记录左孩子的编号并移动到左孩子处。

  • 如果当前节点没有左孩子或者左孩子已经记录过,就记录当前节点的编号。

  • 如果当前节点已经记录过,那么就记录右孩子的编号并移动到右孩子处。

  • 如果当前节点及此节点的左右孩子都已经记录过,那么就移动到当前节点的父节点处。

现在给出从第一层的节点出发记录下的编号顺序,请你求出原本的完全二叉树。

输入格式

第一行,一个整数 K K K,表示这个完全二叉树有 2 K − 1 2^K-1 2K1 个节点;

第二行, 2 K − 1 2^K-1 2K1 个整数,表示从第一层的节点出发记录下的编号顺序。

输出格式

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

样例 #1

样例输入 #1

2
2 1 3

样例输出 #1

1
2 3

样例 #2

样例输入 #2

3
1 6 4 3 5 2 7

样例输出 #2

3
6 2
1 4 5 7

提示

【样例解释 #1】

先移动到节点 1 1 1,发现左孩子没有记录,移动到节点 2 2 2 并记录节点 2 2 2;发现节点 2 2 2 没有孩子,返回节点 1 1 1 ,发现此节点没有记录,记录节点 1 1 1;发现右孩子没有记录,移动到节点 3 3 3 并记录节点 3 3 3

【样例解释 #2】

【数据范围】

对于 100 % 100\% 100% 的数据, 1 ≤ K ≤ 10 1\le K\le 10 1K10

【说明】

本题分值按 COCI 原题设置,满分 80 80 80

题目译自COCI2013_2014 CONTEST #5 T2 OBILAZAK

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值