【模板】子集枚举

    xiaoxiao2026-03-01  9

    #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; int n,num[25]; bool viv[25]; void ds(){ for(int i = 1; i <= n; i ++) if(viv[i] == true) printf("%d ",num[i]); puts(""); } void dfs(int now){ if(now > n) {ds();return;} for(int i = 0; i <= 1; i ++){ viv[now] = i; dfs(now + 1); viv[now] = false; } } int main(){ memset(viv,0,sizeof(viv)); scanf("%d",&n); for(int i = 1; i <= n; i ++) scanf("%d",&num[i]); dfs(1); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1307486.html
    最新回复(0)