题解 | #小红的好数#
小红的好数
https://www.nowcoder.com/practice/de234d0d61d549c6a436e9509dbeea11
#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函数的改善。
#悬赏#

