cpp
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using VI = vector<int>;
using PII = pair<int , int>;
int k;
int main(){
vector<ll>r;
//数位枚举一下 0 到 9 哪些数字存在
for(int i = 1 ; i < (1 << 10) ; i++){
ll t = 0;
for(int j = 9 ; j >= 0 ; j--){
if(i & (1<<j)){
t = t * 10 + j;
}
}
r.push_back(t);
}
sort(r.begin() , r.end());
//cout<<r.size();
cin>>k;
cout<<r[k];
}
没想起来总共是有限的
用类型状压枚举的方法,考虑哪些数字出现,然后按照从大到小的顺序排列