视频解析:[蓝桥杯每日一题]:卡片(朴素解法)_哔哩哔哩_bilibili
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[10];
signed main()
{
for(int i=0;i<=9;i++) a[i]=2021;
//枚举可以所有位上的卡片可以拼凑的数
for(int i=1;;i++)
{
int t=i; //i不能动,因为要向后迭代
//拆位,对于每一位进行枚举
while(t)
{
a[t%10]--; // 每枚举一张卡片对应位减去一张卡片
if(a[t%10]<0) //有一位上的卡片不够凑了,那上一个数就是最大能凑的数
{
cout<<i-1;
return 0;
}
t/=10;
}
}
return 0;
}