Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vector<ll> findNthNumber(int N)
- {
- vector<ll> arr(N + 1);
- queue<long long> q;
- for (int i = 1; i <= 9; i++)
- q.push(i);
- for (int i = 1; i <= N; i++) {
- arr[i] = q.front();
- q.pop();
- if (arr[i] % 10 != 0)
- q.push(arr[i] * 10 + arr[i] % 10 - 1);
- q.push(arr[i] * 10 + arr[i] % 10);
- if (arr[i] % 10 != 9)
- q.push(arr[i] * 10 + arr[i] % 10 + 1);
- }
- return arr;
- }
- void mainSolve()
- {
- ll n = 5;
- ll a = 25;
- vector<ll> v = findNthNumber(1000000);
- ll pos = upper_bound(v.begin(), v.end(), a) - v.begin();
- ll ans = pos + n - 1;
- cout << v[ans] << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement