94 二进制差异序列

94 二进制差异序列_第1张图片

#include 
#include 
#include 
using namespace::std;
using std::cout;
using std::cin;

vector 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 grayCode(int n) 
{
    utils(n);
    return ans;
}

//TEMPLATE END

//APPEND BEGIN
int main()
{
	int n;
    cin >> n;
    vector arr;
	arr =  grayCode(n); 
	for(int i=0; i

你可能感兴趣的:(算法oj,算法,c++)