递归实现指数类枚举(c++实现)
·
#include<iostream>
using namespace std;
const int N=15;
bool st[N];
int path[N];
int n;
void dfs(int u){
if(u==n){
for(int i=0;i<n;i++)
if(path[i]) printf("%d ",path[i]);
puts("");
return ;
}
st[u] = false;
dfs(u+1);
st[u] = false;
st[u] = true;
path[u] = u+1;
dfs(u+1);
path[u] = 0;
st[u] = false;
}
int main(){
scanf("%d",&n);
dfs(0);
}
更多推荐




所有评论(0)