求站外题题解

学术版

萌新刚学。
by 0oOo0 @ 2024-04-13 12:35:09


@[REMENBERNIRVANA](/user/994690) “前后两位”是第一位和最后一位还是什么
by STARS_czy @ 2024-04-13 12:40:17


@[STARS_czy](/user/656765) 就是相邻两位。
by 0oOo0 @ 2024-04-13 12:42:20


@[REMENBERNIRVANA](/user/994690) 范围?
by STARS_czy @ 2024-04-13 12:44:00


@[STARS_czy](/user/656765) 1 ≤ n ≤ 15,k 不超过满足条件的"好数"个数。
by 0oOo0 @ 2024-04-13 12:44:34


@[REMENBERNIRVANA](/user/994690) 有样例吗?
by qwertyuiop951357 @ 2024-04-13 12:51:47


@[qwertyuiop951357](/user/991301) 输入 `6 14`,输出 `123213`.
by 0oOo0 @ 2024-04-13 12:54:11


@[REMENBERNIRVANA](/user/994690) 你看看这个代码能不能过 ```cpp #include <iostream> #include <vector> #include <string> using namespace std; vector<string> haoshu; // 存储所有符合条件的“好数” int k; // 第 k 个“好数”的索引 void solve(string num, int n) { if (num.size() == n) { haoshu.push_back(num); return; } for (char c = '1'; c <= '3'; ++c) { if (num.empty() || num.back() != c) { solve(num + c, n); } } } int main() { int n; cin >> n >> k; solve("", n); if (k > haoshu.size()) { cout << "NO" << endl; } else { cout << haoshu[k - 1] << endl; } return 0; } ```
by qwertyuiop951357 @ 2024-04-13 13:07:07


|