// 二进制枚举所有情况
for ( int i = 0; i < 1 << n; i ++ )
{
// i 从 1 ~ 1 << n, 如果二进制表示为1则代表选这一位,为0则不选
// 需要输出最小字典序,用来与res比较
for (int j = 0; j < n; j ++ )
{
// cout << i << " " << j << " " << (i >> j & 1 ) << endl;
if( i >> j & 1 ) // 第j位是1
{
}
}