#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);
}

更多推荐