85pts,求调
查看原帖
85pts,求调
1367000
Ybll_楼主2024/10/20 08:28
#include<bits/stdc++.h>
using namespace std;
string s;
unsigned long long n,m;
void dfs(unsigned long long a,unsigned long long b)
{
	if(a==2)
	{
		if(b==1)s+="00";
		if(b==2)s+="01";
		if(b==3)s+="11";
		if(b==4)s+="10";
		return;
	}
	if(b<=pow(2,a-1))
	{
		s+='0';
		dfs(a-1,b);
	}
	else
	{
		s+='1';
		dfs(a-1,pow(2,a-1)+1-(b-pow(2,a-1)));
	}
}
int main()
{
	cin>>n>>m;
	if(n==1)
	{
		cout<<m;
		return 0;
	}
	dfs(n,m+1);
	cout<<s;
	return 0;
}
2024/10/20 08:28
加载中...