UVA-679-DROPING BALL

原创 2016年06月01日 08:50:08

UVA-679

A number of K balls are dropped one by one from the root of a fully binary tree structure FBT. Each time the ball being dropped rst visits a non-terminal node. It then keeps moving down, either follows the path of the left subtree, or follows the path of the right subtree, until it stops at one of the leaf nodes of FBT. To determine a ball’s moving direction a ag is set up in every non-terminal node with two values, either false or true. Initially, all of the ags are false. When visiting a non-terminal node if the ag’s current value at this node is false, then the ball will rst switch this ag’s value, i.e., from the false to the true, and then follow the left subtree of this node to keep moving down. Otherwise, it will also switch this ag’s value, i.e., from the true to the false, but will follow the right subtree of this node to keep moving down. Furthermore, all nodes of FBT are sequentially numbered, starting at 1 with nodes on depth 1, and then those on depth 2, and so on. Nodes on any depth are numbered from left to right.
For example, Fig. 1 represents a fully binary tree of maximum depth 4 with the node numbers 1, 2, 3, …, 15. Since all of the ags are initially set to be false, the rst ball being dropped will switch ag’s values at node 1, node 2, and node 4 before it nally stops at position 8. The second ball being dropped will switch ag’s values at node 1, node 3, and node 6, and stop at position 12. Obviously, the third ball being dropped will switch ag’s values at node 1, node 2, and node 5 before it stops at position 10.
Now consider a number of test cases where two values will be given for each test. The rst value is D, the maximum depth of FBT, and the second one is I, the I-th ball being dropped. You may assume the value of I will not exceed the total number of leaf nodes for the given FBT.
这里写图片描述

Please write a program to determine the stop position P for each test case. For each test cases the range of two parameters D and I is as below:
Input
Contains l + 2 lines.
2≤D≤20, and1≤I≤524288.

my code :


//UVA 679 Droping balls
#include "iostream"
#include "cstdio"
#include "cmath"
using namespace std;

int main (){
    int n,b,c;
    int k = 1;
    cin>>n;
    for (int i = 1; i <= n; i++) {
        cin >> b >> c;
        if (b <= 20) {
            int deep = (1<<b) - 1;
            int bstack[deep];
            memset(bstack, 0, sizeof(bstack));
            for (int j = 0; j < c ;j++ ){
                 k = 1;
                for ( ; ; ) {
                    bstack[k] =! bstack[k];
                    k = bstack[k] ? k*2:k*2+1;
                    if (k > deep ) {
                        break;
                    }
                }

            }


        }else{
            cout << "TOO DEEP" <<endl;
        }
    }
    cout << k/2 << endl;
    return 0;

}

版权声明:本文为博主原创文章,转载请联系1453799803@qq.com

相关文章推荐

uva 679 Dropping Balls

uva 679 Dropping Balls

UVa 679 Droppintg Balls (小球下落)

题目链接:UVa 679 题意: 有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有的结点从上到下从左到右编号为1,2,3,...,2^D-1。在结点1处放一个小球,它会往下落。每个内结点都...

Uva - 679 - Dropping Balls

这题真是经历了各种。。。 第一次对题目输入要求没有理解到位,直接RE了,第二次因为方式是模拟所有小球的下落,结果直接超时。 超时代码: #include #include #incl...

uva679 Dropping Balls

A number ofKballs are dropped one by one from the root of a fully binary tree structure FBT. Eachti...

UVA 679 Dropping Balls

题目链接 : http://acm.hust.edu.cn/vjudge/problem/19499题目:有一棵满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下, 小球每次经过开关就会把它...

Dropping Balls, UVa679

原题目链接:Dropping Balls,UVa679 A number ofKballs are dropped one by one from the root ...
  • itbsl
  • itbsl
  • 2017-07-13 10:26
  • 57

UVA-679 Dropping Balls

A number of K balls are dropped one by one from the root of a fully binary tree structure FBT. Each ...

UVA - 679 Dropping Balls

A number of K balls are dropped one by one from the root of a fully binary tree structure FBT. Each ...

uva 679 Dropping Balls

题目:Dropping Balls 题意:有一颗深度为d的二叉树,i个小球从根节点向下落。每个节点上有一个开关,小球落在该节点上时,若开关为开则向右走;反之向左走。小球每经过一次开关,开关的...

UVa 679 - Dropping Balls 数学分析

Dropping Balls A number of K balls are dropped one by one from the root of a fully binary tree struc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)