字典序列,但是仅仅通过80%的样例
#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
class Solution{
public:
ll num = 0,cur = 0;
void lexicalOrder_sub(ll n, ll m,ll temp){
if(num == m or temp > n)
return ;
num += 1;
cur = temp;
for(ll i = (ll)0; i < (ll)10; i += (ll)1){
if(temp * (ll)10 + i <= n)
lexicalOrder_sub(n, m, temp * (ll)10 + i);
else
break;
}
}
ll lexicalOrder(ll n, ll m){
for(ll j = (ll)1;j < (ll)10;j += (ll)1){
if(num >= m)
break;
lexicalOrder_sub(n, m, j);
}
return cur;
}
};
int main(){
ll n,m;
cin>>n>>m;
Solution s = Solution();
cout<<s.lexicalOrder(n,m)<<endl;
return 0;
}