子集生成_二进制法
2015-05-01 11:33
169 查看
#include <iostream> using namespace std; void print_subset(int n,int s){ //打印{0,1,2……,n-1}的子集S for(int i=0;i<n;i++){ if(s&(1<<i)) cout<<i<<' '; } cout<<endl; } int main(){ int n; while(cin>>n){ for(int i=0;i<(1<<n);i++){ //枚举子集所对应的编码 0,1,2,,,,,1<<n-1 print_subset(n,i); } } return 0; }
相关文章推荐
- 【算法竞赛入门经典】7.3子集生成【增量构造法】【位向量法】【二进制法】
- [Day 1] 7.3.3 子集生成-二进制法
- 暴力求解法_子集生成(增量构造法,位向量法,二进制法)
- 子集生成(二进制法)-java实现
- 子集生成 增量构造法 位向量法 二进制法
- 二进制法生成子集
- 生成子集——二进制法
- 二进制法生成子集
- 子集生成 -- 二进制法
- 算法分析与设计-减治法3:生成子集的减治算法及二进制法
- 子集生成问题-一道笔试题目
- 2018寒假训练-紫皮书-子集生成
- 子集生成算法
- 生成一个集合的所有子集 Subset
- 7.3子集生成
- 子集生成算法 之 位向量法和增量构造法
- 非重复生成全子集组合排列(含重复数字时,生成不重复全子集组合排列)
- ACM_子集生成算法总结
- 生成子集
- 子集生成