NYOJ 63 小猴子下落
2016-01-24 20:17
225 查看
小猴子下落
时间限制:3000 ms | 内存限制:65535 KB难度:3
描述
有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关关闭,小猴子往左走,否则往右走,直到走到叶子结点。
一些小猴子从结点1处开始往下跑,最后一个小猴儿会跑到哪里呢?
输入输入二叉树叶子的深度D,和小猴子数目I,假设I不超过整棵树的叶子个数,D<=20.最终以 0 0 结尾
输出输出第I个小猴子所在的叶子编号。
样例输入
4 2 3 4 0 0
样例输出
12 7
#include<stdio.h>
#include<string.h>
#define N 1048576+10
int tree
;
int D;
int bfs(int root,int w)
{
while(w<D)
{
if(root<N)
{
if(tree[root]==0)
{
tree[root]=1;
root=root*2;
w++;
}
else
{
tree[root]=0;
root=root*2+1;
w++;
}
}
}
return root;
}
int main()
{
int i;
while(scanf("%d %d",&D,&i)!=EOF)
{
if(!D && !i)
break;
memset(tree,0,sizeof(tree));
int end=1;
while(i--)
{
end=bfs(1,1);
}
printf("%d\n",end);
}
return 0;
}
相关文章推荐
- 【Android】自定义带进度条的WebView,修复不弹出软键盘的BUG
- 交易笔记20160124
- C#程序员开发WinForm必须知道的 Window 消息大全
- 数据库的创建
- SQL Server 过期
- ImageLunBo_shape1
- 机房重构——继承窗体之谜
- 低情商大神的思维,高情商的你会懂么?为什么非常多计算机老师都是坏脾气?为什么提问没人回答?为什么要通过网络自主学习?
- 基于模块类型php部署LAMP
- 酒店人力资源总监HRD必备的六项真本事
- 修改ubantu计算机名称
- Codeforces Round #336 (Div. 1) A - Chain Reaction
- 桥接模式
- UVA 10574 - Counting Rectangles(枚举+计数)
- 深度学习让一些公司有了机遇
- 【设计模式】桥接模式
- IO流(操作基本数据类型的流对象DataStream)
- eclipse引包
- java lambda表达式
- Maven的配置