Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
111024 | 李树强 | 递增子序列 | C++ | 解答错误 | 33 | 1000 MS | 31504 KB | 675 | 2023-11-18 09:21:18 |
#include<iostream> #include<string> #include<algorithm> using namespace std; string v[1000010]; int n, a[1010], idx = 0; bool b[1010]; void f(int x = 0, int u = -114514, int l = 0){ if(x == n){ if(l < 2) return; for(int i = 0; i < n; i++) if(b[i]){ v[idx] += (a[i] + '0'); v[idx] += ' '; } idx++; return; } if(a[x] >= u) b[x] = 1; if(a[x] >= u) f(x + 1, a[x], l + 1); b[x] = 0; f(x + 1, u, l); } int main(){ cin >> n; for(int i = 0; i < n; i++){ cin >> a[i]; } f(); sort(v, v + idx); if(idx >= 1) cout << v[0] << endl; for(int i = 1; i < idx; i++) if(v[i] != v[i-1]) cout << v[i] << endl; return 0; }