代码:
#include <bits/stdc++.h>
using namespace std;
const int N = 2050;
int n, K, sum, ans;
int a[N], b[N], c[N];
void dfs(int u) {
if (u == ans) {
for (int i = 0; i < ans; i++) {
c[sum] = c[sum] * 10 + b[i];
}
sum++;
return;
}
for (int i = 1; i <= K; i++) {
if ((u != 0 || a[i] != 0) || (ans == 1)) {
b[u] = a[i];
dfs(u + 1);
}
}
}
int main() {
cin >> n >> K;
for (int i = 1; i <= K; i++) {
cin >> a[i];
}
if (K == 1) {
cout << a[1];
return 0;
}
if (K == 10) {
cout << (n - 1) % 10;
return 0;
}
ans = 1;
while (sum < n) {
dfs(0);
ans++;
}
sort(c, c + sum);
cout << c[n - 1] % 10;
}
求大佬赐教