您当前的位置: 首页 > 

minato_yukina

暂无认证

  • 2浏览

    0关注

    138博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

紫书6.6小球下落

minato_yukina 发布时间:2020-12-02 20:15:19 ,浏览量:2

题目:

有一棵二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从上到下从左到右
编号为1, 2, 3,…, 2D-1。在结点1处放一个小球,它会往下落。每个内结点上都有一个开关,
初始全部关闭,当每次有小球落到一个开关上时,状态都会改变。当小球到达一个内结点
时,如果该结点上的开关关闭,则往左走,否则往右走,直到走到叶子结点。
一些小球从结点1处依次开始下落,最后一个小球将会落到哪里呢?输入叶子深度D和
小球个数I,输出第I个小球最后所在的叶子编号。假设I不超过整棵树的叶子个数。D≤20。
输入最多包含1000组数据。

暴力模拟不可取,10000组数据肯定超时,考虑下推导规律.从第一个小球看,肯定一直往左移动,第二个肯定一直往右移动.看来小球下落的方向与它经过该节点的次数(I)奇偶性有关,奇数一定往左落,偶数往右落,而最后一个小球下落的叶子编号与前面的小球无关(?) 

得出核心代码.

for(i=0;i            
关注
打赏
1663570241
查看更多评论
0.0335s