蓝桥杯:模拟、枚举

news2024/9/22 15:44:21

目录

  • 引言
  • 一、修剪灌木
  • 二、特殊年份
  • 三、刷题统计
  • 四、日期问题
  • 五、
  • 六、
  • 七、
  • 八、
  • 九、

引言

本篇文章主要介绍蓝桥杯的模拟和枚举的题目,这种题在 B B B 组还是比较简单的,后续也会一直往里加新的真题,加油!


一、修剪灌木

标签:第十三届蓝桥杯省赛C++ B组、模拟、枚举

思路:如图所示有两种情况:1.已经修剪过了,然后再从右走回来,就是 2 ∗ ( n − i ) 2 * (n - i) 2(ni) ,2.从左往右走回来,就是 2 ∗ ( i − 1 ) 2 * (i - 1) 2(i1) ,遍历一遍即可。
在这里插入图片描述

题目描述:

爱丽丝要完成一项修剪灌木的工作。

有 N 棵灌木整齐的从左到右排成一排。

爱丽丝在每天傍晚会修剪一棵灌木,让灌木的高度变为 0 厘米。

爱丽丝修剪灌木的顺序是从最左侧的灌木开始,每天向右修剪一棵灌木。

当修剪了最右侧的灌木后,她会调转方向,下一天开始向左修剪灌木。

直到修剪了最左的灌木后再次调转方向。

然后如此循环往复。

灌木每天从早上到傍晚会长高 1 厘米,而其余时间不会长高。

在第一天的早晨,所有灌木的高度都是 0 厘米。爱丽丝想知道每棵灌木最高长到多高。

输入格式
一个正整数 N,含义如题面所述。

输出格式
输出 N 行,每行一个整数,第行表示从左到右第 i 棵树最高能长到多高。

数据范围
对于 30% 的数据,N≤10,
对于 100% 的数据,1<N≤10000。

输入样例:
3
输出样例:
4
2
4

示例代码:

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
typedef pair<int,int> PII;
#define x first
#define y second

const int N = 1e4+10;

int n;

int main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	
	cin >> n;
	
	for(int i = 1; i <= n; ++i)
	{
	    int res = max(2*(n-i), 2*(i-1));
	    cout << res << endl;
	}
	
	return 0;
}

二、特殊年份

标签: 第十二届蓝桥杯省赛第二场C++ B组、模拟、枚举

思路:就是输入五个数,每个数取出每一位判断即可。

题目描述:

今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。

输入 5 个年份,请计算这里面有多少个特殊年份。

输入格式
输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。

输出格式
输出一个整数,表示输入的 5 个年份中有多少个特殊年份。

输入样例:
2019
2021
1920
2120
9899
输出样例:
2
样例解释
2021 和 9899 是特殊年份,其它不是特殊年份。

示例代码:

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
typedef pair<int,int> PII;
#define x first
#define y second

const int N = 1e5+10;

int res, year;
int n, m;


int main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	
	for(int i = 0; i < 5; ++i)
	{
		cin >> year;
		int t1 = year / 1000;
		int t2 = year / 100 % 10;
		int t3 = year % 100 / 10;
		int t4 = year % 10;
		if(t1 == t3 && t4 == t2 + 1) res++;
	}
	
	cout << res << endl;
	
	return 0;
}

三、刷题统计

标签: 第十三届蓝桥杯省赛C++ B组、模拟、枚举

思路:就是先计算有多少周,然后再枚举七天就行了。另外这题刚开始 n n n U L L ULL ULL 存了,所以不可能小于 0 0 0 ,还是得注意些。

题目描述:

小明决定从下周一开始努力刷题准备蓝桥杯竞赛。

他计划周一至周五每天做 a 道题目,周六和周日每天做 b 道题目。

请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n 题?

输入格式
输入一行包含三个整数 a,b 和 n。

输出格式
输出一个整数代表天数。

数据范围
对于 50% 的评测用例,1≤a,b,n≤106,
对于 100% 的评测用例,1≤a,b,n≤1018。

输入样例:
10 20 99
输出样例:
8

示例代码:

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
#define x first
#define y second

const int N = 1e5+10;

LL a = 0, b = 0, n = 0;
ULL res = 0;

int main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	
	cin >> a >> b >> n;
	
	LL week = n / ((ULL)5*a+(ULL)2*b);
	n -= week * ((ULL)5*a+(ULL)2*b); 
	res += week * 7;
	if(n) 
	{
		for(int i = 1; i <= 7; ++i)
		{
			res++;
			if(i < 6)
			{
				n -= a;
			}
			else
			{
				n -= b;
			}
			if(n <= 0) break;
		}
	}
	
	cout << res << endl;
	
	
	return 0;
}

四、日期问题

标签:模拟、日期问题、枚举

思路:遇到日期问题就先把模板写好,然后一般都是直接拿数来枚举日期,如果数的范围太大,一般要按要求构造数,比如说回文日期,直接枚举年份就行了。然后就按条件判断即可。

题目描述:

小明正在整理一批历史文献。这些历史文献中出现了很多日期。

小明知道这些日期都在1960年1月1日至2059年12月31日。

令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。

更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。

比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。

给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?

输入格式
一个日期,格式是”AA/BB/CC”。

即每个’/’隔开的部分由两个 0-9 之间的数字(不一定相同)组成。

输出格式
输出若干个不相同的日期,每个日期一行,格式是”yyyy-MM-dd”。

多个日期按从早到晚排列。

数据范围
0≤A,B,C≤9
输入样例:
02/03/04
输出样例:
2002-03-04
2004-02-03
2004-03-02

示例代码:

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
typedef pair<int,int> PII;
#define x first
#define y second

const int N = 1e5+10;

int a, b, c;

const int days[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

bool is_leap(int y)
{
	if(y % 400 == 0 || y % 4 == 0 && y % 100 != 0) return true;
	return false;
}

int get_month_day(int y, int m)
{
	if(m == 2) return days[m] + is_leap(y);
	return days[m];
}

bool is_vaild(int y, int m, int d)
{
	if(m < 1 || m > 12 || d < 1 || d > 31) return false;
	return d <= get_month_day(y,m);
}

int main()
{
	ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	
	scanf("%d/%d/%d", &a, &b, &c);
	
	for(int date = 19600101; date <= 20591231; ++date)
	{
		int y = date / 10000, m = date % 10000 / 100, d = date % 100;
		int t = y % 100;
		if( !((a == t && b == m && c == d) || (a == m && b == d && c == t) || (a == d && b == m && c == t)) ) continue;
		if(!is_vaild(y,m,d)) continue;
		printf("%d-%02d-%02d\n", y, m, d);
	}
	
	
	return 0;
}

五、

标签:

思路:

题目描述:

示例代码:


六、

标签:

思路:

题目描述:

示例代码:


七、

标签:

思路:

题目描述:

示例代码:


八、

标签:

思路:

题目描述:

示例代码:


九、

标签:

思路:

题目描述:

示例代码:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1536724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯算法练习系统—金属采集(树形dp)

问题描述 人类在火星上发现了一种新的金属&#xff01;这些金属分布在一些奇怪的地方&#xff0c;不妨叫它节点好了。一些节点之间有道路相连&#xff0c;所有的节点和道路形成了一棵树。一共有 n 个节点&#xff0c;这些节点被编号为 1~n 。人类将 k 个机器人送上了火星&…

消息队列—RabbitMQ如何保证消息可靠性?

1. 如何保证消息的可靠性&#xff1f; 先来看看我们的万年老图&#xff0c;从图上我们大概可以看出来一个消息会经历四个节点&#xff0c;只有保证这四个节点的可靠性才能保证整个系统的可靠性。 生产者发出后保证到达了MQ。MQ收到消息保证分发到了消息对应的Exchange。Exchan…

网络基础(一)初识

1、计算机网络背景 1.1、网络发展 1. 独立模式: 计算机之间相互独立&#xff1b; 2. 网络互联: 多台计算机连接在一起&#xff0c;完成数据共享&#xff1b; 3. 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 4. 广域网WAN: 将远隔千里的计算机都连在一起;…

vue3 报错 require is not defined

问题 require is not defined 原因 vite 不支持require的用法&#xff0c; webpack是支持的 解决 方法一&#xff1a; 更改vite使用语法 vite官网 方法二 安装转换插件vite-plugin-require-transform 仓库地址 参考 关于Vite不能使用require问题 方法二Vite 踩坑 —— …

PCL点云处理之最小中值平方(Lmeds法)拟合平面(二百三十四)

PCL点云处理之 最小中值平方法(Lmeds)拟合平面(二百三十四) 一、算法介绍一、拟合原理二、具体实现1.代码2.结果一、算法介绍 (本文提供详细注释,输出拟合平面参数和平面点云) Lmeds(Least Median of Squares)是一种统计学方法,用于拟合数据并减少异常值对拟合结果…

MySQL索引(图文并茂)

目录 一、索引的概念 二、索引的作用 三、创建索引的原则依据 四、索引的分类和创建 1、索引的分类 2、索引的创建 2.1 普通索引 2.1.1 直接创建索引 2.1.2 修改表方式创建 2.1.3 创建表的时候指定索引 2.2 唯一索引 2.2.1 直接创建唯一索引 2.2.2 修改表方式创建 …

百度小程序入口在哪里找到怎么打开百度词令关键词口令直达小程序?

百度小程序入口在哪里找到怎么打开百度词令关键词口令直达小程序&#xff1f; 一、百度搜索找到百度词令小程序 打开手机百度搜索「词令」即可找到百度词令关键词口令直达小程序&#xff1b; 二、百度小程序中心找到百度小程序 2.1、打开手机百度&#xff0c;点击底部我的&a…

SW工具下没有URDF

解决方案&#xff0c;下载

使用Docker搭建YesPlayMusic网易云音乐播放器并发布至公网访问

目录 ⛳️推荐 1. 安装Docker 2. 本地安装部署YesPlayMusic 3. 部署公有云YesPlayMusic播放器 3.1 安装cpolar内网穿透 3.2 固定YesPlayMusic公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一…

结构数列递推式的一组严格解

假设一个6*6的平面&#xff0c;这个平面的行和列可以自由的变换。有4点的数列排列为 通过结构加法&#xff0c;在4点和5点结构数列之间变换&#xff0c;迭代10次。 4点数列的顺序为 4 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4-1 1 3 2 12 5 6 8 4 …

00后的AI创业风口,优牛企讯揭秘

随着人工智能技术的迅猛发展&#xff0c;AI已经成为创业的新风口&#xff0c;吸引了众多00后年轻人的目光。 他们以敏锐的市场嗅觉和创新精神&#xff0c;积极投身于这片充满无限可能的领域。 在这样一个竞争激烈的背景下&#xff0c;优牛企讯这款企业动态信息监控产品应运而…

三星工厂突发大火···  | 百能云芯

据韩媒报道&#xff0c;三星SDI位于韩国京畿道龙仁市基兴区的器兴工厂发生火灾。火灾发生在当地时间周四下午15:37左右&#xff0c;持续约20分钟后被扑灭。 幸运的是&#xff0c;此次火灾并未造成人员伤亡&#xff0c;但火场附近的一些帐篷已经被烧毁。消防部门目前正在调查火灾…

探索人工智能基础:从概念到应用【文末送书-42】

文章目录 人工智能概念人工智能基础【文末送书-42】 人工智能概念 人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;作为当今科技领域的热门话题&#xff0c;已经深刻地影响着我们的生活和工作。但是&#xff0c;要理解人工智能&#xff0c;我们首先需…

Elastic 被评为 2024 年 Fast Company 最具创新力的公司

近期&#xff0c;Elastic 被《Fast Company》杂志评为 2024 年最具创新力的公司。《Fast Company》认为&#xff1a;作为企业搜索提供商的 Elastic&#xff0c;已将人工智能纳入其技术套件中&#xff0c;以帮助企业快速查找和分析相关企业数据。 这对 Elastic 是一个巨大的荣誉…

一文搞懂Java动态代理:为什么Mybatis Mapper不需要实现类?

在学习Java动态代理之前&#xff0c;我想让大家先思考这样几个问题。 JDK动态代理为什么不能对类进行代理&#xff1f;Mybatis Mapper接口为什么不需要实现类&#xff1f; 如果你还不知道上述问题的答案&#xff0c;那么这篇文章一定能消除你心中的疑惑。喜欢“IT果果日记”文…

日志集中审计系列(1)--- LogAuditor接收DAS设备syslog日志

日志集中审计系列(1)--- LogAuditor接收DAS设备syslog日志 前言拓扑图设备选型组网需求配置思路操作步骤结果验证前言 近期有读者留言:“因华为数通模拟器仅能支持USG6000V的防火墙,无法支持别的安全产品,导致很多网络安全的方案和产品功能无法模拟练习,是否有真机操作的…

多线程libtorch推理问题

一、环境 我出问题的测试环境如下: pytorch1.10+cu113 pytorch1.10+cu116 pytorch2.2+cu118 libtorch1.10.1+cu113 libtorch1.10.1+cu111 libtorch1.9.0+cu111 二、问题现象 最近封装libtorch的推理为多线程推理的时候,遇到一个现象如下: (1)只要是将模型初始化放到一个…

[项目前置]如何用webbench进行压力测试

测试软件 采用webbench进行服务器性能测试。 Webbench是知名的网站压力测试工具&#xff0c;它是由Lionbridge公司开发。 webbench的标准测试可以向我们展示服务器的两项内容&#xff1a; 每秒钟相应请求数 和 每秒钟传输数据量 webbench测试原理是&#xff0c;创建指定数…

14029.ZYNQMP的zcu102官方评估板SD卡资料

文章目录 1 ZCU SD 卡资料链接2 设备树反汇编提取资料1 ZCU SD 卡资料链接 https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/135364615/2019.1+Release 2 设备树反汇编提取资料 /dts-v1/;/ {compatible <

稀碎从零算法笔记Day23-LeetCode:翻转二叉树

题型&#xff1a;链表、二叉树 链接&#xff1a;226. 翻转二叉树 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 这道题适合就着样例来做 题目样例 …