二进制枚举
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int n; 6 for(int i=0;i<(i<<n);i++) // 枚举2^n-1中情况; 7 { 8 for(int j=0;j<n;j++) // 判断二进制每一位的情况; 9 { 10 if(i&(1<<j)) // 判断该位是不是1; 11 { 12 ..... 13 } 14 } 15 } 16 return 0; 17 }
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int n; 6 for(int i=0;i<(i<<n);i++) // 枚举2^n-1中情况; 7 { 8 for(int j=0;j<n;j++) // 判断二进制每一位的情况; 9 { 10 if(i&(1<<j)) // 判断该位是不是1; 11 { 12 ..... 13 } 14 } 15 } 16 return 0; 17 }