第十二届蓝桥杯省赛C&C++ 研究生组-卡片

solution1

直接依次计算,思维上最直接

cpp 复制代码
#include<stdio.h>
int main(){
	int a[10], n = 1, t1, t2, flag = 1;
	for(int i = 0; i < 10; i++)
		a[i] = 2021;
	while(flag){
		t1 = n;
		while(t1){
			t2 = t1 % 10;
			a[t2]--;
			if(a[t2] < 0){
				flag = 0;
				break;
			} 
			t1 /= 10;
		}
		if(!t1 && flag) n++;
	}
	printf("%d", n - 1);
	return 0;
}

solution2

观察可知,点数最小的卡片1最先消耗完

==》问题转化为1什么时候用光

cpp 复制代码
#include<stdio.h>
int main(){
	int n = 1, t1, t2, flag = 1, one = 0;
	while(flag){
		t1 = n;
		while(t1){
			t2 = t1 % 10;
			if(t2 == 1) one++;
			if(one == 2021){
				flag = 0;
				break;
			}
			t1 /= 10;
		}
		if(!t1 && flag) n++;
	}
	printf("%d", n);
	return 0;
}
相关推荐
二年级程序员7 分钟前
C++的历史与发展
c++
迷茫不知归路13 分钟前
操作系统实验习题解析 上篇
c++·算法·操作系统·实验课设
一个尚在学习的计算机小白14 分钟前
文件相关操作
c++
愚润求学33 分钟前
【递归、搜索与回溯】专题一:递归(二)
c++·笔记·算法·leetcode
h汉堡34 分钟前
C/C++内存管理
java·c语言·开发语言·c++·学习
大鱼BIGFISH1 小时前
C++ 字符格式化输出
c++·字符格式化输出
水水沝淼㵘1 小时前
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
linux·服务器·c语言·数据结构·学习·算法·排序算法
愚润求学1 小时前
【Linux】基础 IO(一)
linux·运维·服务器·开发语言·c++·笔记
yutian06061 小时前
C语言中的宏
c语言·开发语言
June`2 小时前
专题四:综合练习( 找出所有子集的异或总和再求和)
c++·算法·深度优先·剪枝