为什么 格雷码(P5657 [CSP-S2019] 格雷码)可以这么做?
  • 板块学术版
  • 楼主hz_rft
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/24 15:36
  • 上次更新2023/10/27 06:09:33
查看原帖
为什么 格雷码(P5657 [CSP-S2019] 格雷码)可以这么做?
754295
hz_rft楼主2022/10/24 15:36
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,i;
	unsigned long long k,ans=0;
	bool flag=0;
	cin>>n>>k;
	for(i=n-1;~i;--i)
	{
		if(((k>>i)&1)^flag)
		{
			ans|=1ll<<i;
			flag^=1;
		}
	}
	for(i=n-1;~i;--i)
	{
		cout<<(0+((ans>>i)&1));
	}
	return 0;
}
2022/10/24 15:36
加载中...