[Day 1] 7.3.2 子集生成-位向量法
2018-01-11 15:12
211 查看
假设非可重集。
-----------------------------------
#include <iostream>
#include <cstdio>
using namespace std;
int n,p[20];
bool b[20];
void sub(int cur){
if(cur==n+1){//递归边界
for(int i=1;i<=n;i++)
if(b[i]) cout<<p[i];
cout<<endl;
return ;
}
b[cur]=1;
sub(cur+1);
b[cur]=0;
sub(cur+1);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>p[i];
sub(1);
return 0;
}
-----------------------------------
#include <iostream>
#include <cstdio>
using namespace std;
int n,p[20];
bool b[20];
void sub(int cur){
if(cur==n+1){//递归边界
for(int i=1;i<=n;i++)
if(b[i]) cout<<p[i];
cout<<endl;
return ;
}
b[cur]=1;
sub(cur+1);
b[cur]=0;
sub(cur+1);
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>p[i];
sub(1);
return 0;
}
相关文章推荐
- [Day 1] 7.3.1 子集生成-增量构造法
- 生成子集——位向量法
- 子集生成的两种方法 (增量构造法 和 位向量法)
- 子集生成算法 之 位向量法和增量构造法
- 暴力求解法_子集生成(增量构造法,位向量法,二进制法)
- 子集生成 增量构造法 位向量法 二进制法
- 7.3.2(子集生成1)
- [Day 1] 7.3.3 子集生成-二进制法
- 【算法竞赛入门经典】7.3子集生成【增量构造法】【位向量法】【二进制法】
- 子集生成(位向量法)
- 子集生成的两种方法
- 子集生成
- UVA 1151 Buy or Build(最小生成树+枚举子集)
- 任意N个数的子集生成算法
- 按照需要生成数据子集的一个sql
- 【20171006】2017暑假北京学习 day 4 - 2 最小生成树、prim、Kruskal算法简述及其扩展
- 子集生成 二进制法
- 子集生成
- 枚举子集 增量构造法 位向量法 二进制法
- 子集生成算法合集