2021年蓝桥杯C++c组真题 c题 卡片

115 阅读1分钟

c.卡片 - 蓝桥云课 (lanqiao.cn)

视频解析:[蓝桥杯每日一题]:卡片(朴素解法)_哔哩哔哩_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;
}