当前位置: 首页 > news >正文

第十二届蓝桥杯 2021 C/C++组 卡片

目录

题目:

题目描述:

题目链接:

思路:

思路详解:

代码:

代码详解:


题目:

题目描述:

题目链接:

卡片 - 蓝桥云课

思路:

思路详解:

由题给出0到9的卡片个2021张,后续拼数不成功的情况其实就是某个数字的卡片数量不够。所以我们可以先打表记录0到9的卡片的剩余数量(即int a[10],索引就代表卡片上的数字)。我先自己定义了一个索引ans表示当前在拼的数,ans从1开始。下面就是正式模拟题意过程,先写一个while(1)的无限循环,每次用临时变量temp记录此时ans的值。先假设目前这个数是拼的出来的,然后把temp逐位拆解,每次拆出来一位数就把数组a中记录的相应卡片数-1.在把temp全部拆解完之后,遍历a数组看是否存在某个数字的卡片<0,只要存在一个数字的卡片<0就表明目前这个ans拼不出来同时标记为false。在循环的最后,判断flag是true还是false,如果是true就ans++继续拼下一个数,如果是false,就直接break退出循环

这里还是有一个小细节要注意,退出时的ans是第一个拼不出来的数,题目问最大能拼到哪个数,所以正确答案是ans-1,填空题还是要注意细节,答案错了就直接没分了

代码:

代码详解:

#include<bits/stdc++.h>  //填空题,正确答案是3181,题目逻辑不是很难但是细节问题还是容易出错 
using namespace std;     //这题我一开始没注意细节输出的是3182就错了 int main()
{int ans=1;  //ans表示的是当前在拼的数 int a[10]={2021,2021,2021,2021,2021,2021,2021,2021,2021,2021};while(1){int temp=ans;  //ans表示的是当前在拼的数,用临时变量temp来存 while(temp!=0)  //temp!=0表示temp还没有被完全删完,这个while过程表示把temp的每一位拆出来 {a[temp%10]--; //把当前temp的最后一位的卡片数减1 temp/=10;     //删去temp的最后一位 } bool flag=true;   //先标记这个ans能拼出来for(int i=0;i<10;i++)  //遍历所有数字的卡片数 {if(a[i]<0)    //如果拼完ans这个数存在某个卡片数<0,说明ans拼不出来 {flag=false;  //标记这个ans拼不出来 break;       //只要存在一个卡片数<0就拼不出来,直接退出 }}if(flag==true)  //如果能拼出来就尝试下一个数,即ans++ {ans++;}else            //如果拼不出来就直接break退出 {break;}}cout<<ans-1<<endl;  //注意:退出时的ans是第一个拼不出来的数,题目问最大能拼到哪个数//所以正确答案是ans-1,填空题还是要注意细节,答案错了就直接没分了 return 0;
}

相关文章:

  • Error和Exception的区别
  • 序列密码算法ShanLooog512设计原理详解
  • MCU通用输入输出端口(GPIO)设计指南
  • C#中构造器及属性的加载顺序
  • C++中的格式化字符串
  • 用 Python打造交互式图片-音视频管理器:代码分析与实践
  • 前后端分离: vue3+SpringBoot+ElementPlus+Axios+MyBatisPuls
  • 在 Ubuntu 22.04 x64 系统安装/卸载 1Panel 面板
  • Docker容器技术基础入门
  • Java 的创新与变革之路:从 JDK 7 到 JDK 23
  • 无需手动重建!Altium到Cadence的封装转换:ASCII文件方法详解
  • 前端实现商品放大镜效果(Vue3完整实现)
  • 【计算机视觉】TorchVision 深度解析:从核心功能到实战应用 ——PyTorch 官方计算机视觉库的全面指南
  • MCU低功耗运行模式与唤醒机制解析
  • Docker 常用命令(涵盖多个方面)
  • 8、HTTPD服务--ab压力测试
  • Java多线程入门案例详解:继承Thread类实现线程
  • mtrace和memleak源码分析
  • 从困局到破局的AI+数据分析
  • 【机器学习】​碳化硅器件剩余使用寿命稀疏数据深度学习预测
  • 法治日报调查直播间“杀熟”乱象:熟客越买越贵,举证难维权不易
  • 大家聊中国式现代化|陶希东:打造高水平安全韧性城市,给群众看得见的安全感
  • 广州一季度GDP为7532.51亿元,同比增长3%
  • CSR周刊:李宁打造世界地球日特别活动,珀莱雅发布2024年度可持续发展报告
  • 榆林市委常委王华胜已任榆林市政协党组书记
  • 永辉超市一季度净利降近八成,未来12个月至18个月是改革成果集中释放期