二进制的应用之暴力取状态

来源:互联网 发布:cnc模拟软件 编辑:程序博客网 时间:2024/06/04 18:23

白书上的一个很简单的例子,枚举1-n这n个数所组成集合的所有子集

但是小伙伴们怎么说我都理解不了

所以先把代码贴在这里,过一段时间以后再看吧

另外如果哪位朋友觉得自己理解的比较透彻的话,希望能点拨我一下可怜

#include <cstdio>#include <iostream>#include <algorithm>#define MAXN 10010#define ll long longusing 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;}


0 0