二进制枚举 即用十进制连续数枚举状态
O(1<<n);
对于需枚举状态判断的题目(暴力杯)是刷分利器
在此复习一下
for(int i = 0; i < 1 << n; i++) //枚举范围 i << n
{
int x = i;
//memset(dglit, 0, sizeof(dglit)); 看写法清空
for(int j = 1; j <= n; j++)
{
dglit[j] = (x & 1); //相当于覆盖计算 无需清空
x >>= 1;
}
for(int j = 1; j <= n; j++) //枚举位置状态进行操作判断
{
if(!judge(j))
}
}