提交时间:2023-11-19 17:49:23

运行 ID: 111299

#include <bits/stdc++.h> using namespace std; #define all(v) (v).begin(), (v).end() typedef long long ll; vector<int> a,path; int n; void dfs(int i) { if(!path.empty() && a[i] >= path.back()) { path.push_back(a[i]); for(int j = 0; j < path.size(); j++) { cout << path[j] << ' '; } cout << '\n'; path.pop_back(); } if(i < n-1) { path.push_back(a[i]); dfs(i+1); path.pop_back(); } } int main() { cin >> n; a.resize(n); for(int i = 0; i < n; i++) { cin >> a[i]; } for(int i = 0; i < n; i++) { dfs(i); } return 0; }