本文主要是介绍Algorithm学习笔记 --- 小球下落问题(二叉树解法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有一颗二叉树,最大深度为D,且所有的叶子深度都相同。所有的结点从上到下从左到右编号为 1,2,3,4,....,2^D-1.在结点1处放一个小球,它会往下落。每个结点上都有一个开关,初始全部关闭,当每次有小球落到一个开关上时,它的状态都会改变。当小球到达一个内结点时,如果该结点上的开关关闭,则往左走,否则往右走,知道走到叶子结点。
一些小球从结点1处开始下落,最后一个小球会落到哪里呢?输入叶子深度D和小球个数 I ,输出第 I 个小球最后所在的叶子编号。假设 I 不超过整棵树的叶子个数。D《=20.输入最多包含1000组数据。
样例输入:
4 2
3 4
10 1
2 2
8 128
这篇关于Algorithm学习笔记 --- 小球下落问题(二叉树解法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!