對于一個完全二叉樹,節點k的左節點為2k,右節點為2k+1
對于第一個節點而言,編号I走過節點時,若I為奇數,則是向左走的第(I+1)/2個小球,當I為偶數時,是向右走的I/2個小球
對第二個節點也是如此
#include<cstdio>
#include<cstring>
int main()
{
int D,I;
while(scanf("%d%d",&D,&I) == 2)
{
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;}
}
printf("%d\n",k);
}
return 0;
}