Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
111058 一只野生穹p 递增子序列 C++ 解答错误 33 0 MS 304 KB 837 2023-11-18 09:44:53

Tests(1/3):


#include <iostream> #include <algorithm> #include <cstdio> #include <cmath> #include <cstring> using namespace std; const int MAXN = 1e3 + 1e2; int a[MAXN]; int ans[MAXN]; string anss[MAXN]; int len; int x; int n; void dfs(int d) { if (d > n) { if (len >= 2) { x++; for (int i = 1;i <= len;i++) { anss[x] += char(ans[i] + '0'); anss[x] += ' '; } } return ; } for (int i = 0;i <= 1;i++) { if (i == 0) dfs(d + 1); if (i == 1 && a[d] >= ans[len]) { ans[++len] = a[d]; dfs(d + 1); ans[len--] = 0; } } } int main() { scanf("%d", &n); for (int i = 1;i <= n;i++) scanf(" %d", &a[i]); dfs(1); sort(anss + 1, anss + x + 1); for (int i = 1;i <= x;i++) if (!(anss[i] == anss[i - 1])) cout << anss[i] << endl; return 0; }


测评信息: