//子集生成总结
2016-03-06 09:41
417 查看
//子集生成 #include<iostream> using namespace std; #define MAXN 10 void print_subset(int *A,int n,int cur)//子集生成构造法 { for(int i=0;i<cur;i++) cout<<A[i]; cout<<endl; int s=cur?A[cur-1]+1:0;//当cur为0时s为0,否则为上一个数加1 for(int i=s;i<n;i++) { A[cur]=i; print_subset(A,n,cur+1); } } void print_subset(int *A,int n,int cur)//向量构造法 { if(cur==n) { for(int i=0;i<cur;i++)//输出 if(A[i])cout<<i;//标记加入的输出 cout<<endl; A[cur]=1;//对每个数加入或不加入数组 print_subset(A,n,cur+1); A[cur]=0; print_subset(A,n,cur+1); } } void print_subset(int n,int s)//二进制法 { for(int i=0;i<n;i++) if(s&1<<i)cout<<i; cout<<endl; } void Subset(int n) { for(int i=0;i<(1<<n);i++) print_subset(n,i); }
相关文章推荐
- gif动画生成工具
- 创建一个Cordova完整应用
- MATLAB 绘制函数曲线图
- Android Studio中新建library项目。
- 207. Course Schedule
- paper 35 :交叉验证(CrossValidation)方法思想
- ViewPager实现页卡的3种方法(谷歌组件)
- 想使用“本地项目” 的钥匙串
- 异步task处理
- 在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
- codeforcces 623A - Graph and String Note that 构造
- SVN 取消版本控制并添加至忽略列表
- 全文检索(二)-基于lucene4.10的增删改查
- Android应用程序打包时,出现错误:"XXX" is not translated in "af" , "am" , "ar" ....
- hdu oj 1062 Text Reverse(字符串)
- 51nod 1089 最长回文字串V2(Manacher算法)
- 机器学习经典算法logistic回归
- WINCE快捷方式详解
- jsr303 参考表
- 延迟X秒之后执行某个方法