提交时间:2026-04-11 22:34:27
运行 ID: 315289
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { int n; cin >> n; queue<ll> q; // 初始将 1-9 加入队列(守序数首位不能是0) for (int i = 1; i <= 9; i++) { q.push(i); } ll cur; while (n--) { cur = q.front(); q.pop(); int last_digit = cur % 10; // 根据最后一位生成下一个可能的数字 for (int d = -1; d <= 1; d++) { int next_digit = last_digit + d; if (next_digit >= 0 && next_digit <= 9) { q.push(cur * 10 + next_digit); } } } cout << cur << endl; return 0; }