#include <iostream>
#include <vector>
#include <bitset>
using namespace::std;
using std::cout;
using std::cin;
vector<int> ans;
bitset<32> bits;
void utils(int idx)
{
if (!idx)
{
ans.push_back(bits.to_ulong()); return;
}
utils(idx - 1);
bits.flip(idx - 1);
utils(idx - 1);
}
vector<int> grayCode(int n)
{
utils(n);
return ans;
}
//TEMPLATE END
//APPEND BEGIN
int main()
{
int n;
cin >> n;
vector<int> arr;
arr = grayCode(n);
for(int i=0; i<arr.size(); i++)
{
std::cout << arr[i] << " ";
}
return 0;
}
94 二进制差异序列
最新推荐文章于 2024-06-12 10:00:23 发布