Dropping Balls—满二叉树

简介: 题意:给出一棵满二叉树,编号从上往下、从左向右进行编号,然后每次询问给出一个树的深度,以及当前查询的是第几个球,问这个球的编号是多少一个球来的时候能来左边就先来左边,不能的话才去右面对于满二叉树还有一个性质,一个节点的左子节点的编号是 2 * x,右节点是 2 * x + 1然后就是进行模拟就行了如果说一个节点被访问了 t 次,如果t % 2 == 1的话,那么,会有(t + 1) / 2的在左面, t / 2的在右面

微信图片_20220607171009.png


题意:


给出一棵满二叉树,编号从上往下、从左向右进行编号,然后每次询问给出一个树的深度,以及当前查询的是第几个球,问这个球的编号是多少

一个球来的时候能来左边就先来左边,不能的话才去右面

对于满二叉树还有一个性质,一个节点的左子节点的编号是 2 * x,右节点是 2 * x + 1

然后就是进行模拟就行了

如果说一个节点被访问了 t 次,如果t % 2 == 1的话,那么,会有(t + 1) / 2的在左面, t / 2的在右面

int n;
    while(cin >> n&&n != -1){
        while(n--){
            int a=read,b=read;
            ll ans = 1;
            for(int i=1;i<a;i++){
                if(b % 2 == 1){
                    b ++;
                    b /= 2;
                    ans *= 2;
                }
                else {
                    b /= 2;
                    ans *= 2;
                    ans ++;
                }
                ///cout << ans <<endl;
            }
            cout << ans <<endl;
        }
    }
目录
相关文章
|
6月前
Knight Moves(POJ2243)
Knight Moves(POJ2243)
|
6月前
Jungle Roads(最小生成树)
Jungle Roads(最小生成树)
|
算法
1091 zoj Knight Moves的BFS算法和DFS
1091 zoj Knight Moves的BFS算法和DFS
61 0
|
机器学习/深度学习
1257:Knight Moves 2021-01-09
1257:Knight Moves 2021-01-09
LeetCode 85. Maximal Rectangle
题意是给定一个二维的零一矩阵,1可以用来围成一些矩阵,题意要求是返回围城矩阵的面积最大值.
83 0
LeetCode 85. Maximal Rectangle
UVA699 下落的树叶 The Falling Leaves
UVA699 下落的树叶 The Falling Leaves
UVA699 下落的树叶 The Falling Leaves
|
算法 Go
HDU-1548,A strange lift(Dijkstra)
HDU-1548,A strange lift(Dijkstra)
1142. Maximal Clique (25) 19‘
#include #include #include #include #include using namespace std; int e[201][201]; vector temp; bool judge(){ int flag = 1; for(int i = 0; i < temp.
978 0