// 题目描述:
//本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
//小蓝有很多数字卡片,每张卡片上都是数字0到9。小蓝准备用这些卡片来拼一些数,
//他想从1开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。
// 小蓝想知道自己能从1拼到多少。 例如,当小蓝有 30张卡片,其中0到9各3张,
//则小蓝可以拼出1到 10,但是拼11时卡片1已经只有一张了,不够拼出11。
// 现在小蓝手里有0到9的卡片各2021张,共20210张,请问小蓝可以从1拼到多少?
// 提示:建议使用计算机编程解决问题。
// 运行限制:
// 最大运行时间:1s
// 最大运行内存: 128M
#include <iostream>
using namespace std;
int a = 2021, b = 2021, c = 2021, d = 2021, e = 2021, f =2021, g = 2021, h=2021, i=2021, j = 2021;
int cnt;
bool query(int n) {
while (n) {
int A = n % 10;
n /= 10;
if (A == 1) {
a--;
if (a == -1) return 0;
}
if (A == 2) {
b--;
if (b == -1) return 0;
}
if (A == 3) {
c--;
if (c == -1) return 0;
}
if (A == 4) {
d--;
if (d == -1) return 0;
}
if (A == 5) {
e--;
if (e == -1) return 0;
}
if (A == 6) {
f--;
if (f == -1) return 0;
}
if (A == 7) {
g--;
if (g == -1) return 0;
}
if (A == 8) {
h--;
if (h == -1) return 0;
}
if (A == 9) {
i--;
if (i == -1) return 0;
}
if (A == 0) {
j--;
if (j == -1) return 0;
}
}
return 1;
}
int main() {
int cnt = 0;
for (int i = 1;; i++) {
if (!query(i)) {
cout << cnt;
return 0;
} else {
cnt++;
}
}
return 0;
}