help!4RE
查看原帖
help!4RE
767155
a_small_penguin楼主2024/3/3 11:27

题目链接(《入门题》)

代码:

#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;
}

求大佬赐教

2024/3/3 11:27
加载中...