#include <bits/stdc++.h>
using namespace std;
int k1[]={0,0,1,1},k2[]={0,1,1,0};
int t=0;
void d(int n,int k){
if(n==2) {
cout<<k1[k];
cout<<k2[k];
return;
}
unsigned long long s=pow(2,n);
if(k+1<=s/2) {
cout<<0;
d(n-1,k);
}
if(k+1>s/2) {
cout<<1;
d(n-1,s-1-k);
}
}
int main(){
int n;
long long k;
cin>>n>>k;
d(n,k);
return 0;
}
跪求dalao帮忙查错QwQ