2015年1月31日 星期六

2015/01/31 Codeforces 507C. Guess Your Way Out!

// http://codeforces.com/contest/507/problem/C
#include <iostream>
#include <cstdio>

using namespace std;

typedef long long ll;

ll process(ll O, ll x)
{
    if( O == 0 ) return 1;

    ll hf = 1LL<<(O-1);

    if( x <= hf )
    {
        return 1+process(O-1, hf+1-x);
    }
    else
    {
        return hf*2+process(O-1, x-hf);
    }
}

ll h, n;

int main()
{
    cin>>h>>n;
    cout<<process(h, n)-1<<endl;
}

沒有留言:

張貼留言