现有一个满二叉树,每个节点的状态只有true或者false,初始状态都为false,现在不停的有蚂蚁从根节点往叶子节点上爬,当节点为false时,则变成true,蚂蚁往左子树走,当节点为true时,则变成false,蚂蚁往右子树走,走到叶子结点时停止,下一只蚂蚁继续从根节点开始,现在你的任务是,给定满二叉树的深度D,和I,表示第I个蚂蚁, I不超过给定的FBT的叶子数,求第I个蚂蚁停止时的叶子序号。
现有一个满二叉树,每个节点的状态只有true或者false,初始状态都为false。现在不停的有蚂蚁从根节点往叶子节点上爬。当节点为false时,则变成true,蚂蚁往左子树走。当节点为true时,则变成false,蚂蚁往右子树走。走到叶子结点时停止,下一只蚂蚁继续从根节点开始。 第一个蚂蚁将会走过节点1,节点2和节点4,在节点8停止。第二个蚂蚁将会走过节点1、3、6,在节点12停止。明显地,第三个蚂蚁在它停止之前,会访问节点1、2、5,在节点10停止。 现在你的任务是,给定满二叉树的深度D,和I,表示第I个蚂蚁, I不超过给定的FBT的叶子数,求第I个蚂蚁停止时的叶子序号。
(图片来源网络,侵删)
标签: 编程练习 基础2643: 蚂蚁题解