【题目描述】

许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走,继续它的旅程。如果节点是true,则球也会改变它为false,而接下来从右子树走。满二叉树的标记方法如下图:

因为所有的节点最初为false,所以第一个球将会访问节点1,节点2和节点4,转变节点的布尔值后在在节点8停止。第二个球将会访问节点1、3、6,在节点12停止。明显地,第三个球在它停止之前,会访问节点1、2、5,在节点10停止。

现在你的任务是,给定FBT的深度D,和I,表示第I个小球下落,你可以假定I不超过给定的FBT的叶子数,写一个程序求小球停止时的叶子序号。

【输入】

一行包含两个用空格隔开的整数D和I。其中2≤D≤20,1≤I≤524288。

【输出】

对应输出第I个小球下落停止时的叶子序号。

【输入样例】

4 2

【输出样例】

12

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 1000001
#define MOD 123
#define E 1e-6
using namespace std;
int D,I;
int b[N];
int ans;
void down(int k)
{if( pow(2,(D-1))<=k && k<pow(2,D) ){ans=k;return;}if(b[k]){b[k]=!b[k];down(2*k+1);}else{b[k]=!b[k];down(2*k);}
}
int main()
{int i,a;cin>>D>>I;for(i=1;i<=I;i++)down(1);cout<<ans<<endl;return 0;
}

小球(信息学奥赛一本通-T1363)相关推荐

  1. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  2. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  3. 信息学奥赛一本通(C++版)NOIP提高组(1820-1829)

    信息学奥赛一本通(C++版)NOIP提高组目录 //1820 [题目描述] 我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所 处位置的(值减1)为指数,以10为底数的幂之和的 ...

  4. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  5. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

  6. 《信息学奥赛一本通提高篇》第6章 组合数学

    例1 计算系数(NOIP2011提高) 信息学奥赛一本通(C++版)在线评测系统 NOIP2011计算系数_nanhan27的博客-CSDN博客 「NOIP2011」 计算系数 - 组合数_TbYan ...

  7. 《信息学奥赛一本通 提高篇》

    提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1章 贪心算法_青少年趣味编程-CSDN博客 提高篇 第一部分 基础算法 第1章 贪心算法 提高篇 第一部分 基础算法 第1 ...

  8. 信息学奥赛一本通 提高篇 第一部分 基础算法 第2章 二分与三分

    信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分 信息学奥赛一本通 提高篇 提高版 第一部分 基础算法 第2章 二分与三分_mrcrack的博客-CSDN博客_信息学奥赛一本通 ...

  9. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

最新文章

  1. 使用Sentinel配置Redis 3.x主从高可用服务
  2. debian apt-get 国内常用 镜像源
  3. 水利水电计算机考试内容及合格标准,水利水电自考本科科目及流程.docx
  4. 使用jMeter构造逻辑上有依赖关系的一系列并发请求
  5. Java 9:ServiceLoader
  6. Shell 脚本生成不重复的随机数
  7. 使用openssh-clients的scp命令来传输文件
  8. Crystal 语法概述[转]
  9. 程序包androidx.appcompat.app不存在
  10. php7 aop,php之aop实践
  11. 思考的乐趣----matrix67数学笔记:最精妙的无字证明
  12. 紫色范冰冰WIN7主题包
  13. 展锋芒,一遇风云便化龙
  14. 抖音很火的小程序表白html,最近抖音很火的表白小程序写法C#版
  15. Java实现 LeetCode 521 最长特殊序列 Ⅰ(出题人:“就是喜欢看你们不敢相信那么简单,又不敢提交的样子。”)
  16. 益阳城市学院计算机2008毕业学生蒋旭,毕业生档案交寄单.doc
  17. python多个函数_请教:一个类中可以定义多个同名函数?
  18. 这是一篇假的回顾过去展望未来计划书
  19. 这个春节,小灰收到一件不寻常的礼物
  20. 成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入

热门文章

  1. 被虐惨!还热乎的腾讯后端一面面经分享!
  2. Jack Dorsey二度卸任推特CEO,原CTO接棒,立即生效!
  3. Cache工作原理,Cache一致性,你想知道的都在这里
  4. 惊了!同事竟然在代码里“下毒”
  5. 这才是程序员加班的真正原因!
  6. 阿里技术专家:进击的 Java ,云原生时代的蜕变
  7. JAVA 简单的抽奖程序
  8. FireBug 调试JS入门 —如何调试JS
  9. JEECG企业微云快速二次开发平台-新版本首页展示
  10. python设计模式总结