求n个元素的所有子集
#include<iostream>
#define N 3
using namespace std;
char ch[N]={'A','B','C'};
int choose[N];
void output(){
int s=0;
for(int i=0;i<N;i++){
if(choose[i]){
cout<<ch[i];
s++;
}
}
if(!s)
cout<<"空集";
cout<<endl;
}
void dfs(int i){
if(i==N){
output();
return;
}
choose[i]=1;dfs(i+1);
choose[i]=0;dfs(i+1);
}
int main(){
dfs(0);
return 0;
}

224

被折叠的 条评论
为什么被折叠?



