50分求调
查看原帖
50分求调
1124430
Kaos_Abraham楼主2024/10/23 09:20
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
ll k,ans[5000010],B[5000010],S[5000010],n;
void G(ll N)
{
	memset(B,0,pow(2,N));
	ll cnt=0;
	if(N==1)
	{
		S[0]=0;
		S[1]=1;
		return;
	}
	G(N-1);
	memcpy(B,S,sizeof(S));
	for(ll i=pow(2,N)-1;i>=pow(2,(N-1));i--)
	{
		S[i]=B[cnt]+pow(2,(N-1));		
		cnt++;
	}
	return;
}
int main()
{
	ll c;
	cin>>n>>k;
	G(n);
	c=S[k];
	for(ll i=n-1;i>=0;i--)
	{
		ans[i]=c%2;
		c/=2; 
	}
	for(ll i=0;i<n;i++)
		cout<<ans[i];
	return 0;
}	
2024/10/23 09:20
加载中...