蓝桥杯刷题冲刺 | 倒计时28天
作者:指针不指南吗
专栏:蓝桥杯倒计时冲刺🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾
文章目录
- 1.卡片
- 2.数字三角形
- 3.购物单
- 4.回文日期
1.卡片
-
题目
链接: 卡片 - 蓝桥云课 (lanqiao.cn)
小蓝有很多数字卡片,每张卡片上都是数字 00 到 99。
小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。
小蓝想知道自己能从 11 拼到多少。
例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010,
但是拼 1111 时卡片 11 已经只有一张了,不够拼出 1111。
现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少?
提示:建议使用计算机编程解决问题。
-
我的题解
#include<bits/stdc++.h> using namespace std;int num[10];int main() {int i=0;while(1){int a=++i;while(a>0) //取一个数的每一位的做法{num[a%10]++;a/=10;}for(int j=0;j<10;j++){if(num[j]>2021){cout<<i-1; //重点,i的值是取不到的,所以-1!!!!!return 0;}}}return 0; }
-
反思
第一次提交错误是 3182,即当3182时卡片不够用,所以不应该包括 3182
正确答案 应该是 3181
可以拿分的题,没了
考虑边界条件,是否可以取到,是否需要多取一个
2.数字三角形
-
题目
链接:数字三角形 - 蓝桥云课 (lanqiao.cn)
上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。
路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那个数。此外,向左下走的次数与向右下走的次数相差不能超过 1。
输入描述
输入的第一行包含一个整数N (1≤N≤100),表示三角形的行数。
下面的 N 行给出数字三角形。数字三角形上的数都是 0 至 100 之间的整数。
输出描述
输出一个整数,表示答案。
示例
输入
5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5输出
27
-
我的题解
- 第一次
#include<bits/stdc++.h> using namespace std;const int N=100;int d[N][N];int main() {int n;cin>>n;for(int i=0;i<n;i++)for(int j=0;j<=i;j++)cin>>d[i][j];for(int i=n-2;i>=0;i--)for(int j=0;j<=i;j++)d[i][j]+=max(d[i+1][j],d[i+1][j+1]);cout<<d[0][0];return 0; }我觉得我的做法没有问题,而且手算出来答案也是 30,但是样例是 27
悟了,原因:向左下走的次数与向右下走的次数相差不能超过 1,没有注意这句话
找到左边界,找到右边界,即连续向左走两步,就只能拐弯

#include<bits/stdc++.h> using namespace std;const int N=100;int d[N][N];int main() {int n;cin>>n;for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)cin>>d[i][j];for(int i=2;i<=n;i++) //从上往下开始找,路径的权值最大的for(int j=1;j<=i;j++)d[i][j]+=max(d[i-1][j],d[i-1][j-1]);cout<<max(d[n][(n+1)/2],d[n][(n+2)/2]); //最后只能走中间! get这个点return 0; } -
反思
最后一排只能走到 最中间的部分,但是注意 分成 奇数和偶数两种情况
巧妙的方法:
取最中间两个数的,表示方法记住:
[(n+1)/2][(n+2)/2]认真审题!!注意到每一句话,太重要了
3.购物单
-
题目
链接: 购物单 - 蓝桥云课 (lanqiao.cn)
小明刚刚找到工作,老板人很好,只是老板夫人很爱购物。老板忙的时候经常让小明帮忙到商场代为购物。小明很厌烦,但又不好推辞。
这不,大促销又来了!老板夫人开出了长长的购物单,都是有打折优惠的。
小明也有个怪癖,不到万不得已,从不刷卡,直接现金搞定。
现在小明很心烦,请你帮他计算一下,需要从取款机上取多少现金,才能搞定这次购物。
取款机只能提供 100 元面额的纸币。小明想尽可能少取些现金,够用就行了。 你的任务是计算出,小明最少需要取多少现金。
以下是让人头疼的购物单,为了保护隐私,物品名称被隐藏了。
**** 180.90 88折 **** 10.25 65折 **** 56.14 9折 **** 104.65 9折 **** 100.30 88折 **** 297.15 半价 **** 26.75 65折 **** 130.62 半价 **** 240.28 58折 **** 270.62 8折 **** 115.87 88折 **** 247.34 95折 **** 73.21 9折 **** 101.00 半价 **** 79.54 半价 **** 278.44 7折 **** 199.26 半价 **** 12.97 9折 **** 166.30 78折 **** 125.50 58折 **** 84.98 9折 **** 113.35 68折 **** 166.57 半价 **** 42.56 9折 **** 81.90 95折 **** 131.78 8折 **** 255.89 78折 **** 109.17 9折 **** 146.69 68折 **** 139.33 65折 **** 141.16 78折 **** 154.74 8折 **** 59.42 8折 **** 85.44 68折 **** 293.70 88折 **** 261.79 65折 **** 11.30 88折 **** 268.27 58折 **** 128.29 88折 **** 251.03 8折 **** 208.39 75折 **** 128.88 75折 **** 62.06 9折 **** 225.87 75折 **** 12.89 75折 **** 34.28 75折 **** 62.16 58折 **** 129.12 半价 **** 218.37 半价 **** 289.69 8折需要说明的是,88 折指的是按标价的 88 计算,而 8 折是按 80 计算,余者类推。 特别地,半价是按 50计算。
请输出小明要从取款机上提取的金额,单位是元。
-
第一次
#include<bits/stdc++.h> using namespace std;int main() {int sum=0;int n=50;int a,b;while(n--){cin>>a>>b; //这里,输入很是个问题sum+=a*b;}cout<<sum;return 0; }为了这个输入,我去 word 上去处理 数据,方便它的输入
一系列的查找替换 处理好 之后 程序 还是不能正确输入
调式发现 a一直是180

数据类型错了 应该是
double, 我一直写的int, 最后才发现- 第二次——成功
#include<bits/stdc++.h> using namespace std;int main() {double sum=0;int n=50;double a,b; //数据类型 错了while(n--){cin>>a>>b;sum+=a*b;}cout<<sum;return 0; }- 通过看题解,还学会了一种方法,这个更加简便

-
反思
- 一定要确保数据类型使用正确
- 巧用 word 和 excel ,来解答
- 看了 python 的题解,tql ,打算简单学习一下 基本语法,填空够用就行
4.回文日期
-
题目
链接:回文日期 - 蓝桥云课 (lanqiao.cn)
2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。
有人表示 20200202 是 “千年一遇” 的特殊日子。对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。
也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 2121 年 12 月 12 日。算不上 “千年一遇”,顶多算 “千年两遇”。
给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。
输入描述
输入包含一个八位整数 N*,表示日期。
对于所有评测用例,10000101≤N≤89991231,保证 N 是一个合法日期的 8 位数表示。
输出描述
输出两行,每行 1 个八位数。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。
示例
输入
20200202输出
20211202 21211212-
第一次
#include<bits/stdc++.h> using namespace std;int main() {int k;cin>>k;int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int flagh=1,h=0,w=0;int resh,resw;while(!h||!w){k++;//更新日期 int d=k%100;int m=k%10000/100;int y=k/10000;if(y%4==0&&y%100!=0||y%400==0) a[2]=29;else a[2]=28;if(d>a[m]){d=1,m++;}if(m>12){m=1,y++;}k=d+m*100+y*10000;//判断满足条件 int t=k;int b[8]={0}; //把每一位放到数组中去int i=0;while(t>0){b[i++]=t%10;t/=10; }//判断回文日期 if(!h) //表示还没找到 {for(int i=0;i<8;i++){if(b[i]!=b[8-i-1]) {flagh=0; //不是回文,标记1 break;}}if(flagh) {resh=k;h=1;}}//判断完美日期 if(!w){int i;if(b[0]==b[2]==b[5]==b[7]&&b[1]==b[3]==b[4]==b[6]){w=1;resw=k;}} } cout<<resh<<endl<<resw;return 0;}以运行超时告终
-
第二次
#include<bits/stdc++.h> using namespace std;bool isleap(int a) {return a%4==0&&a%100!=0||a%400==0; }bool check(int year,int month,int day) {if(month==0||month>12) return false;int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(isleap(year)) a[2]=29;else a[2]=28;if(day>a[month]||day==0) return false;else return true; }int main() {int k;cin>>k;int flag=1;for(int i=k+1;i<89991231;i++){int d=i%100;int m=i%10000/100;int y=i/10000;//判断满足条件 int t=k;int b[8]={0}; //把每一位放到数组中去int j=0;while(t>0){b[j++]=t%10;t/=10; }if(b[0]==b[7]&&b[1]==b[6]&&b[2]==b[5]&&b[3]==b[4]&&flag){if(check(y,m,d)){cout<<i<<endl;flag=0;}}if(b[0]==b[2]&&b[2]==b[5]&&b[5]==b[7]&&b[1]==b[3]&&b[3]==b[4]&&b[4]==b[6]){cout<<i<<endl;return 0;} }return 0;}再次以失败告终,但是我就是模拟的正确题解,不知哪里不行
-
正确题解
#include <iostream> using namespace std;bool isLeap(int y){return (y%4==0&&y%100!=0)||(y%400==0); }bool check(int year,int month,int day){//判断是否为合法日期if(month>12||month==0) return false;if(day>31) return false;if(month==2){if(isLeap(year)&&day>29)return false;if(!isLeap(year)&&day>28)return false;}if(month==4||month==6||month==9||month==11){if(day>30) return false;}return true; } int main() {int n,i;cin>>n;int a,b,c,d,e,f,g,h;//8位数字int year,month,day;bool flag=false;for(i=n+1;i<=99999999;i++){year=i/10000;month=(i%10000)/100;day=i%100;a=i%10;b=(i/10)%10;c=(i/100)%10;d=(i/1000)%10;e=(i/10000)%10;f=(i/100000)%10;g=(i/1000000)%10;h=(i/10000000)%10;if(a==h&&b==g&&c==f&&d==e&&flag==false){if(check(year,month,day)){cout<<i<<endl;flag=true;//只输出一个回文}}if(a==h&&b==g&&c==f&&d==e&&a==c&&b==d){if(check(year,month,day)){cout<<i<<endl;break;}}}return 0; }
-

相关文章:
蓝桥杯刷题冲刺 | 倒计时28天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.卡片2.数字三角形3.购物单4.回文日期1.卡片 题目 链接: 卡片 - 蓝桥云课 (lanqiao…...
一文带你吃透操作系统
文章目录1. 进程、线程管理2. 内存管理3. 进程调度算法4. 磁盘调度算法5. 页面置换算法6. 网络系统7. 锁8. 操作系统知识点文章字数大约1.9万字,阅读大概需要65分钟,建议收藏后慢慢阅读!!!1. 进程、线程管理 进程和线程…...
计算机网络英文简称汇总
分类名词全拼汉译概述B2CBusiness-to-Consumer商对客概述P2PPeer-to-Peer对等概述C/SClient-Server服务器-客户机概述ITUInternational Telecommunication Union国际电信联盟概述IEEEInstitute of Electrical and Electronics Engineers电气与电子工程师协会概述ICCCInternatio…...
腾讯云云服务器标准型S5性能配置简单测评
腾讯云服务器标准型S5实例CPU采用Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器,主频2.5GHz,睿频3.1GHz,标准型S5云服务器基于全新优化虚拟化平台,配有全新的Intel Advanced Vector Extension (AVX-512) 指令集&#…...
RK3568平台开发系列讲解(Linux系统篇)消息队列
🚀返回专栏总目录 文章目录 一、创建消息队列二、发送和接收消息三、内核结构沉淀、分享、成长,让自己和他人都能有所收获!😄 📢消息队列在如下两个方面上比管道有所增强: 消息队列中的数据是有边界的,发送端和接收端能以消息为单位进行交流,而不再是无分隔的字节流…...
2021电赛国一智能送药小车(F题)设计报告
2021电赛国一智能送药小车(F题)设计报告 【写在前面的话】 电赛是一个很奇妙的过程,可能有些人觉得电赛的门槛太高,那便意味着,当你决定要参加电赛的那一刻起,这一段路、这些日子就注定不会太轻松…...
刚工作3天就被裁了....
前言 还有谁?刚上三天班就被公司公司的工作不适合我,叫我先提升一下。 后面我也向公司那边讨要了一个说法,我只能说他们那边的说辞让我有些不服气。 现在之所以把这件事上记录一下,一是记录一下自己的成长轨迹,二是…...
docker安装elasticsearch与head教程完整版—.NET Core Web Api与elasticsearch打造全站全文搜索引擎
默认已经有docker环境 下载与安装 elasticsearch ,从hub.docker里面可以看到最新版本的镜像,选择你想要的版本 本教程是以 7.17.7 为案例,为啥不适用最新的,首先个人一般需用最新的版本,如果有亢很难填,其次…...
蓝桥冲刺31天之315
没有一个冬天不可逾越 也没有一个春天不会来临 所有美好的食物,都会有一个等待的过程 低谷时蛰伏,静默时沉淀 做三四月的事,在八九月自有答案 目录 A:0的个数 题目描述: 输入格式 输出格式 样例输入 样例输出 评测用例规模与…...
常见排序算法
/懂了和写出来是两码事啊啊......orz./ Talk is cheap, show me the code 一、快速排序 直接背模板就能过: 当xq[lr>>1]的边界情况 此时x取的是序列中间靠左的位置(如果序列个数为奇,则取正中间,如果为偶,则取中间靠左),此时如果元素个数为2, 则中间靠左就…...
C语言实现学生成绩管理系统思考
学生成绩管理系统思考 作业要求: 目录 思路 基本函数 学习理解大佬的代码: 完成作业: 思路 学生成绩管理系统,首先要初始化系统, 用C语言做学生实验管理系统要求实现对某班学生3门课程(包括语文、数…...
C++11中Lambda新特性
1.定义 lambda匿名函数的语法格式: [外部变量访问方式说明符](参数)mutablenoexcept/throw()->返回值类型 {函数体; };其中各部分的含义分别为: a.[外部变量方位方式说明符] []方括号用于向编译器表明当前是一个lambda表达式,其不能被省略…...
【jvm系列-01】初识虚拟机与java虚拟机
初识虚拟机与java虚拟机一,虚拟机与java虚拟机1,虚拟机2,java虚拟机3,jvm整体结构图4,jvm的架构模型5,jvm的生命周期6,jvm的种类划分6.1,Sun Classic Vm6.2,Exact VM6.3&…...
「Python 基础」数据库应用编程
Python 定义了一套 DB-API,任何数据库要连接到 Python,只需要提供符合 Python 标准的数据库驱动即可; 文章目录1. 连接 SQLite1. 建表、插入数据2. 查询数据2. 连接 MySQL1. 安装驱动2. 演示连接3. SQLAlchemy1. 安装2. DBSession3. add4. qu…...
一个nginx的小项目,不写代码,实现在局域网内访问其他电脑的网页
准备工作 下载nginx //官网 https://nginx.org/en/download.html //直接下载 https://nginx.org/download/nginx-1.23.3.zip解压 下载一个html项目,或者自己随便写一个 我是直接下载的,然后使用的是第一个01 https://gitee.com/StarPort/HTML_CSSTe…...
23.3.14打卡 2022年江西省大学生程序设计竞赛(正式赛)ABL
就写了签到, 其他题没写, 这场好像3题就银了 纪念一下3.14原粥率日 比赛链接:https://ac.nowcoder.com/acm/contest/43898 A题 Special Adjustment Method 题意 给出非负整数x, y, z 你可以让其中两个数字-1, 另外一个2, 使得x2y2z2x^2y^{2}z^{2}x2y2z2最大 题解 这题很容…...
用idea操作hbase数据库,并映射到hive
依赖条件:需要有Hadoop,hive,zookeeper,hbase环境映射:每一个在 Hive 表中的域都存在于 HBase 中,而在 Hive 表中不需要包含所有HBase 中的列。HBase 中的 RowKey 对应到 Hive 中为选择一个域使用 :key 来对…...
手机解锁方法:8个顶级的 Android 手机解锁软件
一般来说,太简单的密码是不安全的,所以我们设置一个安全的密码,可能会稍微复杂一点。然而,我们可能经常会忘记复杂的密码并锁定我们的 Android 智能手机。 8个顶级的 Android 手机解锁软件 如果您遇到过这种情况并且正在寻找一种…...
JVS快速开发平台2.1.7版本,列表页配置新增特性介绍
JVS 在3月份更新了2.1.7版本,本次更新涉及到很多方面,其中包括逻辑引擎、流程引擎、列表引擎、数据处理引擎、图表配置加工等。这里我们先介绍下列表页配置引擎扩展的相关内容,我们先来看看最后配置的列表页配置的效果1、列表页展示方面&…...
【华为机试真题详解 Python实现】去除多余空格【2023 Q1 | 100分】
文章目录 前言题目描述输入描述输出描述示例 1解题思路参考代码前言 《华为机试真题详解》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。 如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议! 本文解法非最优解(即非性能…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

