90分求助QAQ
查看原帖
90分求助QAQ
638059
jason_jason楼主2024/10/3 13:35
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll; 
int main()
{
	ll n,m;
	cin>>n>>m;
	m++;
	ll flag=1;
	if (m==18446744073709551615)
	{
		cout<<1;
		for (int i = 1;i <= 63;i++) cout<<0;
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		ll tmp;
		tmp=(ll)1<<(n-i);
		//cout<<i<<" "<<m<<" "<<tmp<<endl; 
		if(flag==1)
		{
			if(m>tmp)
			{
				cout<<1;
				flag=-flag;
				m-=pow(2,n-i);
			}
			else cout<<0;
		}
		else
		{
			if(m<=tmp) 
			{
				cout<<1;
				flag=-flag;
			}
			else
			{
				cout<<0;
				m-=(1<<(n-i));
			}
		}
	}
	return 0;
}
2024/10/3 13:35
加载中...