@[cokt335](/user/873417) 您初始化部分存在问题
```cpp
for(int i = 0;i<(1<<n);i++){
if(!(i&(i>>1))) s[++cnt]=i;
else continue; //s存放合法状态
int x=i;
while(x){
if(x&1) num[cnt]++; //num[i] 表示 i 在二进制下 1 的个数
x>>=1;
}
}
```
by xiao__xiao @ 2024-01-02 14:38:17
@[xiao__xiao](/user/1015805) 还真是,谢谢啦
by Istruggle @ 2024-01-05 20:43:37