uva 679
来源:互联网 发布:淘宝sma特卖什么意思 编辑:程序博客网 时间:2024/05/22 04:36
原题
涉及二叉树的问题, 可以尝试用二进制简化问题
类似于哈夫曼编码问题, 由第一个球全部走左子树可以猜测到
走左子树代表0, 右子树代表1, 则第i个球所走的路径就是i-1的二进制码的逆序
由此可以直接模拟第i个球, 而不用模拟前面所有的球的运动
#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <string>#include <vector>#include <set>#include <stack>#include <queue>#include <deque>#include <map>#include <list>#include <cassert>#include <iomanip>using namespace std;const int MAXN = (2<<20)+1;/*uva 679涉及二叉树的问题, 可以尝试用二进制简化问题 类似于哈夫曼编码问题, 由第一个球全部走左子树可以猜测到走左子树代表0, 右子树代表1, 则第i个球所走的路径就是i-1的二进制码的逆序 由此可以直接模拟第i个球, 而不用模拟前面所有的球的运动 */int main(){int t,D,I;while( (cin>>t) && t!=-1 ){while( t-- ){cin >> D >> I;I = I-1;// I-1的逆序 int node = 1;// 当前所在的结点 while( --D ){if( I&1 ){node = (node<<1) + 1;}else{node <<= 1;}I >>= 1;}cout << node << endl;}}return 0;}
0 0
- uva 679
- uva 679
- UVA 679
- UVa 679
- UVA 679
- UVA 679
- UVA 679 - Dropping Balls
- uva 679 - Dropping Balls
- uva-679 小球下落
- UVa 679 Dropping Balls
- UVA - 679 Dropping Balls
- UVa 679 Dropping Balls
- UVa 679 - Dropping Balls
- UVa 679 - Dropping Balls
- UVa 679 - Dropping Balls
- UVa 679 - Dropping Balls
- uva 679 Dropping Balls
- Uva - 679 - Dropping Balls
- CSS3-选择器,边框
- 程序员学习能力提升三要素
- 【推荐】redis的主从复制配置
- vsftpd自启动(开机启动)的三种方法
- 九宫格案例——封装xib
- uva 679
- iOS应用程序上传AppStore(新版本上传)
- 位、字节和字长
- 关于提示:invalid use of incomplete type
- CSS3-2D转换,3D转换,过渡
- 段错误产生的原因
- linux vim/vi编辑器指令
- Linux基础学习1,Linux简介,转载自实验楼
- 黑马程序员——java介绍及配置环境变量