分析
由于数据限制n<1e6那么直接暴力就行了,从98765开始搜就行了
代码
#include "bits/stdc++.h"
using namespace std;
#define int long long
#define endl "\n"
#define PII pair<int,int>
#define PIII pair<int,PII>
const int MOD = 1e9 + 7;
const int N = 3e5;
bool check(int n) {
map<char, int> a;
if (n < 10000)a['0']++;
string t = to_string(n);
for (int i = 0; i < t.size(); i++) {
if (a[t[i]])return false;
a[t[i]]++;
}
return true;
}
void slu() {
int n = 98766;
int cnt = 0;
int k;
cin >> k;
while (n--) {
if (check(n))cnt++;
if (cnt == k) {
string t = to_string(n);
int l = t.size();
for (int i = 5 - l; i > 0; i--)cout << "0";
cout << t;
return;
}
}
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int T;
// cin >> T;
T = 1;
while (T--)slu();
}

京公网安备 11010502036488号