| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 84003 | sh25_shenpy | 摆动序列 | C++ | 通过 | 86 MS | 252 KB | 729 | 2026-02-05 15:28:47 |
#include <iostream> #include <vector> using namespace std; int k; int count = 0; void dfs(vector<int>& seq) { if (seq.size() >= 2) { count++; } for (int num = 1; num <= k; ++num) { if (!seq.empty() && num == seq.back()) continue; if (seq.size() >= 2) { int prev_prev = seq[seq.size() - 2]; int prev = seq.back(); if (prev > prev_prev && num >= prev_prev) continue; if (prev < prev_prev && num <= prev_prev) continue; } seq.push_back(num); dfs(seq); seq.pop_back(); } } int main() { cin >> k; vector<int> seq; dfs(seq); cout << count << endl; return 0; }