提交时间:2023-11-18 10:17:59

运行 ID: 111091

#include<bits/stdc++.h> using namespace std; int tot,a[10001],b[10001],n,ans; bool pd[10001]; void dfs(int k,int x) { if(k>1) { for(int i=0;i<k;i++) cout<<a[i]<<" "; cout<<endl; } if(k==n) return; for(int i=x+1;i<=n;i++) { if(pd[i]==0&&b[i]>=a[k-1]) { pd[b[i]]=1; a[k]=b[i]; dfs(k+1,i); pd[b[i]]=0; } } } int main() { cin>>n; for(int i=1;i<=n;i++) cin>>b[i]; dfs(0,0); return 0; }