Uva 679(Dropping Balls)小球下落

Uva 679(Dropping Balls)小球下落

//小球下落
//这道题总的来说和树的关系不大,就差不多就是找规律
//小球是第几个
//到这一层它是第几个(有点类似于递归) 
#include<iostream> 
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int d,I;
		cin>>d>>I;
		int k = 1;
		for(int i=0;i<d-1;i++)
		{
			if(I%2) //奇数
			{
				k=k*2;
				//这个球是到这个节点的第几个 
				I=(I+1)/2;
			} 
			else
			{
				k=k*2+1;
				I/=2;
			}
		}
		cout<<k<<endl;
	}
	return 0;
}

原文地址:https://www.cnblogs.com/serendipity-my/p/12768629.html