#include <bits/stdc++.h>
using namespace std;
bool check(int num){
int num1 = num;
set<int>sett;
if(num < 10000) sett.insert(0);
while(num){
sett.insert(num%10);
num /= 10;
}
if(sett.size() == 5) return 1;
return 0;
}
int main() {
int k;
cin >> k;
k -= 1;
int res = 98765;
while(k--){
res -= 1;
while(!check(res)){
res--;
}
}
if(res > 10000)cout << res << endl;
else cout << 0 << res << endl;
}
真是一场酣畅淋漓的暴力啊()从98765往下推即可, 注意遇见例如01234时前补0, 以及在check函数的改善。

京公网安备 11010502036488号