//#include <bits/stdc++.h>
#include <iostream>
#include <string>
#include <map>
#include <set>
#include <cstring>
using namespace std;
int s[1<<20];
int main()
{
int D,I;
while(cin>>D>>I)
{
// memset(s,0,sizeof(s));
// int k,n =(1 <<D)-1;
// for(int i=0;i < I;i++)
// {
// k = 1;
// for(;;)
// {
// s[k] = !s[k];
// k= (s[k] ?k*2 : k*2+1);
// if(k > n)
// break;
// }
//
// }
// cout<<k/2<<endl;
int k=1;
for(int i=0;i < D;i++)
{
if(I%2) {
k*=2;
I = (I+1) / 2;
}
else{
k=2*k + 1;
I /= 2;
}
}
cout<<k/2<<endl;
}
}
小球下落 UVa 679
最新推荐文章于 2020-07-28 14:19:15 发布