博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NYOJ 63(小猴子下落)
阅读量:5834 次
发布时间:2019-06-18

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

 

小猴子下落

时间限制:
3000 ms | 内存限制:
65535 KB
难度:
3
 
描述

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

一些小猴子从结点1处开始往下跑,最后一个小猴儿会跑到哪里呢?

 
输入
输入二叉树叶子的深度D,和小猴子数目I,假设I不超过整棵树的叶子个数,D<=20.最终以 0 0 结尾
输出
输出第I个小猴子所在的叶子编号。
样例输入
4 23 40 0
样例输出
127
#include
int main(){ int d,I,i,k; while(scanf("%d%d",&d,&I),d||I) { k=1; for(i=0;i
>1;/*上层节点为k,这相邻下层的左节点编号为2*k,右节点为(2*k+1),奇数的话左边走(I+1)/2个,右边I/2个*/ else k=(k<<1)+1,I>>=1; printf("%d\n",k); } return 0;}

  

转载地址:http://laucx.baihongyu.com/

你可能感兴趣的文章
统治世界的十大算法
查看>>
《AutoCAD全套园林图纸绘制自学手册》一1.3 园林布局
查看>>
在一个程序员的墓前
查看>>
《IP多播网络的设计与部署(第1卷)》——1.2 IP多播的优点
查看>>
《编写高质量Python代码的59个有效方法》——第4条:用辅助函数来取代复杂的表达式...
查看>>
《Android 3D 游戏案例开发大全》——6.5节辅助界面相关类
查看>>
Spring Security Kerberos 1.0.0.RC1 发布
查看>>
《大数据管理概论》一3.2 大数据存储与管理方法
查看>>
《异构信息网络挖掘: 原理和方法》—— 导读
查看>>
【Python学习】Python解决汉诺塔问题
查看>>
《R语言数据挖掘》----1.10 数据属性与描述
查看>>
PowerBuilder开发简单计算器
查看>>
从HDFS看分布式文件系统的设计需求
查看>>
《深度学习导论及案例分析》一1.2深层网络的特点和优势
查看>>
《移动App测试的22条军规》—第1章1.1节移动App的特性
查看>>
《乐在C语言》一1.3 如何学好程序设计
查看>>
《众妙之门——网页设计专业之道》——1.3 传统印刷设计的影响
查看>>
怎样使用linux的iptables工具进行网络共享
查看>>
《HTML5与CSS3实战指南》——导读
查看>>
《趣题学算法》—第1章1.4节图的性质
查看>>