第十三届蓝桥杯真题题解(A~D题)_十三届蓝桥杯eda真题(2)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

int main() {
cout << 2 + 2 * 9 + 2 * 9 * 9 * 9;
return 0;
}





---


###  试题B:顺子日期


本题总分:5分


【问题描述】  
         小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456等。顺子日期指的就是在日期的 yyyymmdd表示法中,存在任意连续的三位数是一个顺子的日期。例如20220123就是一个顺子日期,因为它出现了一个顺子:123;而20221023则不是一个顺子日期,它一个顺子也没有。小明想知道在整个2022年份中,一共有多少个顺子日期。




---



> 
> 
>  题解: 
>  
> 
>           
>  
> 
> 
>         枚举日期拼成字符串,用查询顺子串
> 
> 
> 
> 
> 


【小技巧】


* 可以使用excel表拉取数据再结合查找(CTRL+F)功能,查询012和123一共的个数。
* 在验证自己写的代码后,要学会使用缩小数据范围,选择自己知道的区间测试代码的正确性。


【注】:如果使用devC++编译器记得开允许c++11 ,否则会不识别to\_string函数



#include
#include
using namespace std;

int main()
{
string s1=“012”,s2=“123”;//顺子串
int cnt=0;
//枚举法:枚举每个月
for(int i=1;i<=12;i++)
{
//枚举每一天
for(int j=1;j<=31;j++)
{
string s=“2022”;
if(i<10)
s+=“0”+to_string(i);//将数据类型转为字符串的函数
else
s+=to_string(i);

		if(j<10)
			s+="0"+to_string(j);
		else
			s+=to_string(j);	
			
		//查询子串
		if(s.find(s1)!=-1||s.find(s2)!=-1) 
			cnt++;
	}
 } 
cout<<cnt<<endl;
return 0;

}




---


### 试题C:刷题统计


时间限制: 1.0s内存限制: 256.0MB本题总分:10


【问题描述】  
         小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做α道题目,周六和周日每天做b道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于n题?




---



> 
> (一)暴力法
> 
> 
>         模拟每一天取得部分分数(枚举每一天,做题目数量的累加和)--时间复杂度O(n)
> 
> 
> 



#include
#include
using namespace std;

int main()
{
int a,b,n;
cin>>a>>b>>n;
int sum=0;
//枚举
for(int i=1;;i++)
{
if(i%70||i%76)//周末
sum+=b;
else
sum+=a;
if(sum>=n)
{
cout<<i<<endl;
return 0;
}
}

return 0;

}



> 
> (二)数学优化版
> 
> 
> 
> 
>         每周7天的固定刷题量t=5a+2b,所以只需要查看总题量n里面有多少个t,然后再对余数进行处理即可,因为剩下的余数一定是7天内完成的,时间复杂度O(1)
> 
> 
> 
> 
> 



#include
using namespace std;
#define int long long
signed main()
{
int a,b,n;
cin>>a>>b>>n;
int t=5a+2b;//每一周可以完成的题目数量
//如果整周就可以完成
if(n%t==0)
cout<<n/t7;
else
{
int d=n/t;//可以整周完成的周数
int m=n%t;//整周完成不了一周内的天数
int sum=0;
for(int i=1;i<=7;i++)
{
if(i>5)
sum+=b;
else
sum+=a;
while(sum>=m)
{
cout<<d
7+i<<endl;
return 0;
}
}
}
return 0;
}





---


### 试题D:修剪灌木


时间限制: 1.0s内存限制: 256.0MB本题总分:10分


【问题描述】  
         爱丽丝要完成一项修剪灌木的工作。有N棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌木,让灌木的高度变为0厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。直到修剪了最左的灌木后再次调转方向。然后如此循环往复。  
 灌木每天从早上到傍晚会长高1厘米,而其余时间不会长高。在第一天的早晨,所有灌木的高度都是0厘米。爱丽丝想知道每棵灌木最高长到多高。




---



> 
> (一)模拟法(不考虑清晨傍晚关系)--时间复杂度O(n)
> 
> 
>         0 0 0       (竖着一列接着一列模拟)
> 
> 
>         0 1 1        3 2 0        0 2 3
> 
> 
>         1 0 2        4 0 1        1 0 4
> 
> 
>         2 1 0        0 1 2        ...
> 


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/27043a7dc5168c81cc884f4baf6a09c2.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/3b189f43611ebe499f724db816f1cc87.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/5192462846a779ae22d84cbf41c70076.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-GgNPu12N-1713262492640)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值