提交时间:2024-03-09 10:57:51
运行 ID: 136595
#include<iostream> #include<cstdio> using namespace std; const int NR=100010; int n,a[NR],d[NR]; void dfs(int k,int c) { if(k>n+1) return; int i; if(c>2) { for(i=1;i<=c-1;i++) cout<<d[i]<<" "; cout<<endl; } for(i=k;i<=n;i++) if(a[i]>=a[c-1]) { d[c]=a[i]; dfs(i+1,c+1); d[c]=0; } } int main() { int i; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; dfs(1,1); return 0; }