题意:
代码:
#include<bits/stdc++.h>
using namespace std;
vector<string > v;
int main()
{
int n,k;
cin>>n>>k;
// freopen("holiday.in","r",stdin);
// freopen("holiday.out","w",stdout);
v.push_back("0");
v.push_back("1");
for(int i=1;i<=n-1;i++)
{
vector<string > vt;
for(int i=0;i<v.size();i++)
{
vt.push_back("0"+v[i]);
}
for(int i=v.size()-1;i>=0;i--)
{
vt.push_back("1"+v[i]);
}
v = vt;
}
cout<<v[k];
}
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
signed main()
{
int n,k;
cin>>n>>k;
// freopen("holiday.in","r",stdin);
// freopen("holiday.out","w",stdout);
__int128 sum = (__int128)1<<n;
int pre = -1;
while(sum!=1)
{
if(pre==-1)
{
if(k<sum/2)
{
cout<<0;
pre = -1;
}
else
{
cout<<1;
k -= sum/2;
pre = 1;
}
}
else
{
if(k<sum/2)
{
cout<<1;
pre = -1;
}
else
{
cout<<0;
k -= sum/2;
pre = 1;
}
}
sum /= 2;
}
return 0;
}