二叉树
发布日期:2022-02-02 02:58:09 浏览次数:26 分类:技术文章

本文共 537 字,大约阅读时间需要 1 分钟。

有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有节点从上到下从左到右编号为1,2,3,......2^D-1。在节点1处放一个小球,它会往下落。每个内节点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球到达一个内节点时,如果该节点上的开关关闭,则往左走,否则往右走,直到走到叶子节点。

 一些小球从节点1处依次开始下落,最后一个小球将会落到哪里呢?输入叶子深度D和小球个数I,输入第I歌小球最后所在的叶子编号。假设I不超过整棵树的叶子个数。D<=20.输入最多包含1000组数据。

样例输入:

4 5

3 4

10 1

2 2

8 128

16 12345

样例额输出:

12

7

512

3

255

36358

代码实现:

#include 
#include
#include
using namespace std;const int MAXD=20;int s[1<
>D>>I) { memset(s,0,sizeof(s)); int k,n=pow(2,D)-1; for(int i=0;i

转载地址:https://blog.csdn.net/u010368749/article/details/19545969 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:数据结构之字典树---hdu1247---Hat‘s word
下一篇:动态规划---hdu1231---最大连续子序列

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月19日 13时06分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章