uva-679 Dropping Balls UVA - 679

题目大意

总共有一个深度为D的满二叉树,I个小球,每个节点具有开关,小球经过节点后节点开关会有变化,初始都关闭,若关闭往左右否则往右走

只需要循环一下每层的情况即可

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
  int d,i,t;
  cin>>t;
  while(t--)
  {
    cin>>d>>i;

      int k=1;
      for(int j=0;j<d-1;j++)
      {
        if(i%2)
        k*=2,i=(i+1)/2;
        else
        k=k*2+1,i/=2;
      }
      cout<<k<<endl;
    
  }
}

猜你喜欢

转载自www.cnblogs.com/baccano-acmer/p/9911039.html