白书上的一个很简单的例子,枚举1-n这n个数所组成集合的所有子集
但是小伙伴们怎么说我都理解不了
所以先把代码贴在这里,过一段时间以后再看吧
另外如果哪位朋友觉得自己理解的比较透彻的话,希望能点拨我一下
#include <cstdio>
#include <iostream>
#include <algorithm>
#define MAXN 10010
#define ll long long
using namespace std;
int a[MAXN][MAXN];
int solve(int n, int s) {
for(int i=0; i<n; ++i) {
if(s&(1<<i))
printf("%d ", i);
}
printf("\n");
}
int main(void) {
scanf("%d", &n);
for(int i=1; i<=n; ++i) {
for(int j=1; j<=p; ++j) {
scanf("%d", &a[i][j]);
}
}
for(int i=0; i<(1<<n); ++i) {
solve(n, i);
}
return 0;
}