IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 2022年6月第十三届蓝桥杯软件类国赛(决赛)C组C语言/C++真题及答案 with 感想 -> 正文阅读

[C++知识库]2022年6月第十三届蓝桥杯软件类国赛(决赛)C组C语言/C++真题及答案 with 感想

这里是同年省赛的真题
2022年4月第十三届蓝桥杯省赛C组C语言/C++真题及答案

感想写在前面,

备考广东专升本很久了,我的成绩是计算机类省排位299,广东专升本2022年比往年残酷了不少,近几年竞争增长比考研还要夸张很多,计算机类三万名考生里考进省前三百名才有公办本科读。

今年的蓝桥杯省赛是在升本考试前想着放松一下来参加的,蓝桥杯国赛是升本考试后疯狂放松的时候参加的,这真的不是我的水平哈哈哈,属于生锈很久了,第BDF题没做,时间不够了

近半年以来我几乎只敲过蓝桥杯省赛和国赛的这几题代码,可以说是裸考中的裸考了,c++不熟悉了,保险起见大部分题目都是纯C敲的

有幸帮到你的话点个赞谢谢哈~

题目

第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组

试题 A: 斐波那契与 7

本题总分:5 分
【问题描述】
斐波那契数列的递推公式为:Fn = Fnn1 + Fnn2,其中 F1 = F2 = 1。
请问,斐波那契数列的第 1 至 202202011200 项(含)中,有多少项的个位
是 7。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 A: 斐波那契与 7 2
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组

试题 B: 小蓝做实验

本题总分:5 分
【问题描述】
小蓝很喜欢科研,他最近做了一个实验得到了一批实验数据,一共是两百
万个正整数。如果按照预期,所有的实验数据 x 都应该满足 107 ≤ x ≤ 108。但
是做实验都会有一些误差,会导致出现一些预期外的数据,这种误差数据 y 的
范围是 103 ≤ y ≤ 1012 。由于小蓝做实验很可靠,所以他所有的实验数据中
99.99% 以上都是符合预期的。小蓝的所有实验数据都在 primes.txt 中,现
在他想统计这两百万个正整数中有多少个是质数,你能告诉他吗?
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
试题 B: 小蓝做实验 3
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组

试题 C: 取模

时间限制: 1.0s 内存限制: 256.0MB 本题总分:10 分
【问题描述】
给定 n, m ,问是否存在两个不同的数 x, y 使得 1 ≤ x < y ≤ m 且 n mod x = n mod y 。
【输入格式】
输入包含多组独立的询问。
第一行包含一个整数 T 表示询问的组数。
接下来 T 行每行包含两个整数 n, m,用一个空格分隔,表示一组询问。
【输出格式】
输出 T 行,每行依次对应一组询问的结果。如果存在,输出单词 Yes;如
果不存在,输出单词 No。
【样例输入】
3
1 2
5 2
999 99
【样例输出】
No
No
Yes
【评测用例规模与约定】
对于 20% 的评测用例,T ≤ 100 ,n, m ≤ 1000;
试题 C: 取模 4
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
对于 50% 的评测用例,T ≤ 10000 ,n, m ≤ 105;
对于所有评测用例,1 ≤ T ≤ 105 ,1 ≤ n ≤ 109 ,2 ≤ m ≤ 109。
试题 C: 取模 5
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组

试题 D: 内存空间

时间限制: 1.0s 内存限制: 256.0MB 本题总分:10 分
【问题描述】
小蓝最近总喜欢计算自己的代码中定义的变量占用了多少内存空间。
为了简化问题,变量的类型只有以下三种:
int:整型变量,一个 int 型变量占用 4 Byte 的内存空间。
long:长整型变量,一个 long 型变量占用 8 Byte 的内存空间。
String:字符串变量,占用空间和字符串长度有关,设字符串长度为 L,
则字符串占用 L Byte 的内存空间,如果字符串长度为 0 则占用 0 Byte 的内存
空间。
定义变量的语句只有两种形式,第一种形式为:
type var1=value1,var2=value2…;
定义了若干个 type 类型变量 var1、var2、…,并且用 value1、value2
…初始化,
多个变量之间用’,’ 分隔,语句以’;’ 结尾,type 可能是 int、long 或
String。例如 int a=1,b=5,c=6; 占用空间为 12 Byte;long a=1,b=5;
占用空间为 16 Byte;String s1=””,s2=”hello”,s3=”world”; 占用空
间为 10 Byte。
第二种形式为:
type[] arr1=new type[size1],arr2=new type[size2]…;
定义了若干 type 类型的一维数组变量 arr1、arr2…,且数组的大小为
size1、size2…,多个变量之间用’,’ 进行分隔,语句以’;’ 结尾,type 只可
能是 int 或 long。例如 int[] a1=new int[10]; 占用的内存空间为 40
试题 D: 内存空间 6
第十三届蓝桥杯大赛软件赛决赛C/C++大学C组
Byte;long[] a1=new long[10],a2=new long[10]; 占用的内存空间为
160 Byte。
已知小蓝有 T 条定义变量的语句,请你帮他统计下一共占用了多少内
存空间。结果的表示方式为:aGBbMBcKBdB,其中 a、b、c、d 为统计的
结果,GB、MB、KB、B 为单位。优先用大的单位来表示,1GB=1024MB, 1MB=1024KB,1KB=1024B,其中 B 表示 Byte。如果 a、b、c、d 中的某几个
数字为 0,那么不必输出这几个数字及其单位。题目保证一行中只有一句定义
变量的语句,且每条语句都满足题干中描述的定义格式,所有的变量名都是合
法的且均不重复。题目中的数据很规整,和上述给出的例子类似,除了类型后
面有一个空格,以及定义数组时 new 后面的一个空格之外,不会出现多余的空
格。
【输入格式】
输入的第一行包含一个整数 T ,表示有 T 句变量定义的语句。
接下来 T 行,每行包含一句变量定义语句。
【输出格式】
输出一行包含一个字符串,表示所有语句所占用空间的总大小。
【样例输入 1】 1
long[] nums=new long[131072];
【样例输出 1】
1MB
【样例输入 2】 4
int a=0,b=0;
long x=0,y=0;
String s1=”hello”,s2=”world”;
试题D: 内存空间 7
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
long[] arr1=new long[100000],arr2=new long[100000];
【样例输出 2】
1MB538KB546B
【样例说明】
样例 1,占用的空间为 131072 × 8 = 1048576 B,换算过后正好是 1MB,其
它三个单位 GB、KB、B 前面的数字都为 0 ,所以不用输出。
样例 2,占用的空间为 4 × 2 + 8 × 2 + 10 + 8 × 100000 × 2 B,换算后是
1MB538KB546B。
【评测用例规模与约定】
对于所有评测用例,1 ≤ T ≤ 10,每条变量定义语句的长度不会超过 1000
。所有的变量名称长度不会超过 10,且都由小写字母和数字组成。对于整型变
量,初始化的值均是在其表示范围内的十进制整数,初始化的值不会是变量。
对于 String 类型的变量,初始化的内容长度不会超过 50,且内容仅包含小写
字母和数字,初始化的值不会是变量。对于数组类型变量,数组的长度为一个
整数,范围为:[0, 2
30],数组的长度不会是变量。T 条语句定义的变量所占的内
存空间总大小不会超过 1 GB,且大于 0 B。
试题 D: 内存空间 8
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
试题 E: 斐波那契数组
时间限制: 1.0s 内存限制: 256.0MB 本题总分:15 分
【问题描述】
如果数组 A = (a0, a1, · · · , ann 1) 满足以下条件,就说它是一个斐波那契数
组:

  1. n ≥ 2;
  2. a0 = a1;
  3. 对于所有的 i(i ≥ 2),都满足 ai = aii 1 + aii 2。
    现在,给出一个数组 A ,你可以执行任意次修改,每次修改将数组中的某
    个位置的元素修改为一个大于 0 的整数。请问最少修改几个元素之后,数组 A
    会变成一个斐波那契数组。
    【输入格式】
    输入的第一行包含一个整数 n ,表示数组 A 中的元素个数。
    第二行包含 n 个整数 a0, a1, · · · , ann 1,相邻两个整数之间用一个空格分隔。
    【输出格式】
    输出一行包含一个整数表示最少需要修改数组 A 中的几个元素之后,数组
    A 可以变为一个斐波那契数组。
    【样例输入】
    5
    1 2 2 4 8
    【样例输出】
    3

试题 E: 斐波那契数组 9

第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
【样例说明】
将原数组修改为 (1, 1, 2, 3, 5),最少修改三个元素变成了一个斐波那契数组。
【评测用例规模与约定】
对于所有评测用例,2 ≤ n ≤ 105 ,1 ≤ ai ≤ 106。
试题 E: 斐波那契数组 10
第十三届蓝桥杯大赛软件赛决赛C/C++大学C组
试题 F: 近似 GCD
时间限制: 1.0s 内存限制: 256.0MB 本题总分:15 分
【问题描述】
小蓝有一个长度为 n 的数组 A = (a1, a2, · · · , an),数组的子数组被定义为从
原数组中选出连续的一个或多个元素组成的数组。数组的最大公约数指的是数
组中所有元素的最大公约数。如果最多更改数组中的一个元素之后,数组的最
大公约数为 g,那么称 g 为这个数组的近似 GCD。一个数组的近似 GCD 可能
有多种取值。
具体的,判断 g 是否为一个子数组的近似 GCD 如下:

  1. 如果这个子数组的最大公约数就是 g,那么说明 g 是其近似 GCD。
  2. 在修改这个子数组中的一个元素之后(可以改成想要的任何值),子数
    组的最大公约数为 g,那么说明 g 是这个子数组的近似 GCD。
    小蓝想知道,数组 A 有多少个长度大于等于 2 的子数组满足近似 GCD 的
    值为 g。
    【输入格式】
    输入的第一行包含两个整数 n, g,用一个空格分隔,分别表示数组 A 的长
    度和 g 的值。
    第二行包含 n 个整数 a1, a2, · · · , an,相邻两个整数之间用一个空格分隔。
    【输出格式】
    输出一行包含一个整数表示数组 A 有多少个长度大于等于 2 的子数组的近
    似 GCD 的值为 g 。
    【样例输入】
    5 3
    1 3 6 4 10

试题F: 近似GCD 11

第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
【样例输出】
5
【样例说明】
满足条件的子数组有 5 个:
[1, 3]:将 1 修改为 3 后,这个子数组的最大公约数为 3 ,满足条件。
[1, 3, 6]:将 1 修改为 3 后,这个子数组的最大公约数为 3 ,满足条件。
[3, 6]:这个子数组的最大公约数就是 3 ,满足条件。
[3, 6, 4]:将 4 修改为 3 后,这个子数组的最大公约数为 3 ,满足条件。
[6, 4]:将 4 修改为 3 后,这个子数组的最大公约数为 3,满足条件。
【评测用例规模与约定】
对于 20% 的评测用例,2 ≤ n ≤ 102;
对于 40% 的评测用例,2 ≤ n ≤ 103;
对于所有评测用例,2 ≤ n ≤ 105 ,1 ≤ g, ai ≤ 109。
试题 F: 近似 GCD 12
第十三届蓝桥杯大赛软件赛决赛C/C++大学C组
试题 G: 数组个数
时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分
【问题描述】
小蓝有一个长度为 n 的数组 B = (b0, b1, · · · , bnn1),数组 B 是由另一个长度
为 n 的环形数组 A = (a0, a1, · · · , ann1) 经过一次相邻最大化操作得到的,其中 ai 与 ai+1 相邻,a0 与 ann1 相邻。
形式化描述为:
bi = ???????????????????
max(an?1, a0, a1), (i = 0);
max(ai?1, ai, ai+1), (0 < i < n ? 1);
max(an?2, an?1, a0), (i = n ? 1).
小蓝想知道,可能有多少个满足条件的数组 A,经过一次相邻最大化操作
后能得到数组 B,注意 A 中的每个元素都要求为非负整数。
【输入格式】
输入的第一行包含一个整数 n ,表示数组长度。
第二行包含 n 个整数 b0, b1, · · · , bnn1,相邻两个整数之间用一个空格分隔。
【输出格式】
输出一行包含一个整数表示答案,答案可能很大,请输出答案除以
1000000007 后的余数。
【样例输入】
5
8 6 1 8 8

试题G: 数组个数 13

第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
【样例输出】
7
【样例说明】
可能的 A 数组有 7 个:(6, 0, 0, 1, 8)、(6, 0, 1, 0, 8)、(6, 0, 1, 1, 8)、(6, 1, 0, 0, 8)、
(6, 1, 0, 1, 8)、(6, 1, 1, 0, 8)、(6, 1, 1, 1, 8) 。
【评测用例规模与约定】
对于 30% 的评测用例,3 ≤ n ≤ 10;
对于 60% 的评测用例,3 ≤ n ≤ 100;
对于所有评测用例,3 ≤ n ≤ 1000 ,0 ≤ bi ≤ 10。
试题 G: 数组个数 14
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
试题 H: 六六大顺
时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分
【问题描述】
六六大顺,本指农历六月初六。多用于祝福中年人士家庭幸福,工作顺利,
事业有成,身体健康。源自《左传》“君义,臣行,父慈,子孝,兄爱,弟敬,
此数者累谓六顺也。”
6 在我国自古以来是一个吉祥的数字,定义数列 A = (a1, a2, · · · , ai, · · ·) ,
其中 a1 = 6 , a2 = 66 , · · · , ai = 10 · aii 1 + 6。
定义一个数列 B = (b1, b2, · · · , bi, · · ·),其中 b1 = 6 × 6, b2 = 66 × 66, · · · , bi = ai · ai。
现在小蓝想知道数列 B 的前 n 项的和是多少,你能帮帮小蓝吗?
【输入格式】
输入一行包含一个正整数 n 。
【输出格式】
输出一行包含一个整数表示数列 B 前 n 项的和。
【样例输入】
3
【样例输出】
447948
【样例说明】
b1 = 6 × 6 = 36, b2 = 66 × 66 = 4356, b3 = 666 × 666 = 443556,所以前三项
的和为 36 + 4356 + 443556 = 447948 。
试题 H: 六六大顺 15
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
【评测用例规模与约定】
对于 20% 的评测用例,1 ≤ n ≤ 100;
对于 50% 的评测用例,1 ≤ n ≤ 100000;
对于所有评测用例,1 ≤ n ≤ 10000000 。

试题 H: 六六大顺 16

第十三届蓝桥杯大赛软件赛决赛C/C++大学C组
试题 I: 打折
时间限制: 2.0s 内存限制: 256.0MB 本题总分:25 分
【问题描述】
小蓝打算采购 n 种物品,每种物品各需要 1 个。
小蓝所住的位置附近一共有 m 个店铺,每个店铺都出售着各种各样的物
品。
第 i 家店铺会在第 si 天至第 ti 天打折,折扣率为 pi,对于原件为 b 的物
品,折后价格为 ? b·pj
100 ?
。其它时间需按原价购买。
小蓝很忙,他只能选择一天的时间去采购这些物品。请问,他最少需要花
多少钱才能买到需要的所有物品。
题目保证小蓝一定能买到需要的所有物品。
【输入格式】
输入的第一行包含两个整数 n, m,用一个空格分隔,分别表示物品的个数
和店铺的个数。
接下来依次包含每个店铺的描述。每个店铺由若干行组成,其中第一行包
含四个整数 si, ti, pi, ci,相邻两个整数之间用一个空格分隔,分别表示商店优惠
的起始和结束时间、折扣率以及商店内的商品总数。之后接 ci 行,每行包含两
个整数 aj, bj ,用一个空格分隔,分别表示该商店的第 j 个商品的类型和价格。
商品的类型由 1 至 n 编号。
【输出格式】
输出一行包含一个整数表示小蓝需要花费的最少的钱数。
【样例输入】
2 2
1 2 89 1

试题I: 打折 17

第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
1 97
3 4 77 1
2 15
【样例输出】
101
【评测用例规模与约定】
对于 40% 的评测用例,n, m ≤ 500 ,si ≤ ti ≤ 100 ,∑ ci ≤ 2000 ;
对于 70% 的评测用例,n, m ≤ 5000 ,∑ ci ≤ 20000 ;
对于所有评测用例,1 ≤ n, m ≤ 100000 ,1 ≤ ci ≤ n , 1 ≤ si ≤ ti ≤ 109 ,1 < pi < 100 ,1 ≤ aj ≤ n ,1 ≤ bj ≤ 109 。 ∑ ci ≤ 400000 ,
试题 I: 打折 18
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组

试题 J: 替换字符

时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分
【问题描述】
给定一个仅含小写英文字母的字符串 s,每次操作选择一个区间 [li,ri] 将 s
的该区间中的所有字母 xi 全部替换成字母 yi,问所有操作做完后,得到的字符
串是什么。
【输入格式】
输入的第一行包含一个字符串 s 。
第二行包含一个整数 m 。
接下来 m 行,每行包含 4 个参数 li,ri, xi, yi,相邻两个参数之间用一个空格
分隔,其中 li,ri 为整数,xi, yi 为小写字母。
【输出格式】
输出一行包含一个字符串表示答案。
【样例输入】
abcaaea
4
1 7 c e
3 3 e b
3 6 b e
1 4 a c
【样例输出】
cbecaea
试题 J: 替换字符 19
第十三届蓝桥杯大赛软件赛决赛 C/C++ 大学 C 组
【评测用例规模与约定】
对于 40% 的评测用例,|s|, m ≤ 5000;
对于所有评测用例,1 ≤ |s|, m ≤ 105 ,1 ≤ li ≤ ri ≤ |s| ,xi , yi ,其中 |s| 表
示字符串 s 的长度。

答案

并非官方答案,都是博主比赛时的答案,非绝对正确,仅供参考

A题答案

看我第一题乱七八糟的code就可以知道我比赛刚开始我有多绝望了吧,后来甚至是手算出来的,
一开始是写程序求个位数,等于7的话就count++,但是看到这么大的问题复杂度感觉不对劲啊,想着程序跑跑看,一边run一边做后面的题结果跑了20分钟还没跑出来 就意识到问题的严重了,后悔刚开始没多手算几个数,后面还想了十几分钟怎么优化,之后才发现从第13个数开始就有规律了,个位数全都是0 7 0 7 0 7 0这样子了

#include <bits/stdc++.h>
using namespace std;

int ans=0;
int coun=2;

//int func(int a,int b)
//{
//	
//	
//	coun++;
//	if(coun==2022020112)
//		return 0;
//	func(b,c);
//} 

int main()
{
//	int a=1,b=1;
//	while(coun<202202011200)
//	{
//		coun++;
//		int tmp = a;
//		a = b;
//		b = (tmp+b)%10;
//		if(b==7)
//			ans++;
//	}
	long long ans = (202202011200-13)/2;
	202202011187
	101101005593
	101101005594
	printf("%lld",ans);
	return 0;
} 

//1 1 2 3 5 8 13 21 34 55 89 4 3 7 0 7 0
//1 1 2 3 5 8 3 1 4 5 9 4 3 7 0 7

B题答案

B题博主没做,但是想吐槽一下哈哈。
第一题我就卡了半个多钟,已经心态崩了好吧,看到第二题涉及到概率问题果断跳过了,毕竟才5分,到最后基本所有题都做了还是对这5分没兴趣。

C题答案

这题我的时间复杂度应该是不合格的,只是想拿部分分,后面还有很多题,就速度过了

#include <bits/stdc++.h>
using namespace std;

int ans[100010];

int main()
{
	int T,i;
	scanf("%d",&T);
	for(i=0;i<T;i++)
	{
		int n,m,x,y,ok=0;
		scanf("%d %d",&n,&m);
		for(x=1;x<m;x++)
		{
			for(y=x+1;y<=m;y++)
			{
				if(n%x==n%y)
					ok=1;
				if(ok)
					break;
			}
			if(ok)
				break;
		}
		if(ok)
			ans[i]=1;
		else
			ans[i]=0;
	}
	for(i=0;i<T;i++)
	{
		if(ans[i])
			printf("Yes\n");
		else
			printf("No\n");
	}
	
	return 0;
} 

D题答案

D题我当时也直接放了,字符处理的题从来不会让你快速解出来,考csp的时候题目少还会考虑一下,蓝桥杯动不动就十道题比的就是速度。

E题答案

博主思路:每道题水一点分哈哈哈哈哈
这道题不知道能不能混一两个案例,只是把开头的两个数的三种情况列举了出来,其它完全没考虑了,没思路,怎么想复杂度都很高

#include <bits/stdc++.h>
using namespace std;

int arr[100000];

int main()
{
	int n,i;
	int this_ans = 0;
	int ans = 0;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&arr[i]);
	if(arr[0]==arr[1])
	{
		int a=arr[0],b=arr[1],tmp;
		for(i=2;i<n;i++)
		{
			tmp = a;
			a = b;
			b = tmp+b;
			if(b!=arr[i])
				ans++;
		}
	}else
	{
		int a=arr[0],b=arr[0],tmp;
		ans++;
		for(i=2;i<n;i++)
		{
			tmp = a;
			a = b;
			b = tmp+b;
			if(b!=arr[i])
				ans++;
		}
		
		a=arr[1],b=arr[1];
		this_ans = 0;
		for(i=2;i<n;i++)
		{
			tmp = a;
			a = b;
			b = tmp+b;
			if(b!=arr[i])
				this_ans++;
		}
		if(this_ans<ans)
			ans = this_ans;
	}
	printf("%d",ans);
	return 0;
} 

F题答案

大概看了一下题,理不清思路,关键是公约数忘了怎么求,只好放弃了

G题答案

希望寄托于这题了,
考的基本的深度和裁枝

#include <bits/stdc++.h>
using namespace std;

int arrB[1010];
int arrA[1010]={0};
int ans=0,n;

int mymax(int a,int b,int c)
{
	if(a>=b&&a>=c)
		return a;
	else if(b>=a&&b>=c)
		return b;
	else 
		return c;
}

int DFS(int id)
{
	int i,j;
	for(i=0;i<=10;i++)
	{
		arrA[id]= i;
		if(id>1)
		{
			j=id-1;
			if(arrB[j]!=mymax(arrA[j-1],arrA[j],arrA[j+1]))
				continue;
		}
		if(id==n-1)
		{
			int ok=1;
			if(arrB[0]!=mymax(arrA[n-1],arrA[0],arrA[1]))
			{
				ok=0;
				continue;
			}
			if(arrB[n-1]!=mymax(arrA[n-2],arrA[n-1],arrA[n]))
			{
				ok=0;
				continue;
			}
		//	for(j=0;j<n;j++)
//			{
//				printf("%d ",arrA[j]);
//			}
//				printf("\n");
			if(ok)
			{
				ans++;
				ans=ans%1000000007;
			}
		}else
		{
			DFS(id+1);
		}
	}
}

int main()
{
	int i;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d",&arrB[i]);
	}
	DFS(0);
	printf("%d",ans);
	return 0;
} 

H题答案

水分水分


#include <bits/stdc++.h>
using namespace std;

int main()
{
	int n,i,j,value=6,ans=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
    {
        ans+=value*value;
        value = value*10+6;
    }
    printf("%d",ans);
	return 0;
}

I题答案

这题是最后才做的,还没敲完就比赛结束了,轮廓都敲出来了,虽然运行不了,但是放出来看一下吧



#include <bits/stdc++.h>
using namespace std;

int cost[100];
int zhong[100][100000]={0};
int zhongMoney[100];

int main()
{
    int n,m,i,j;
    scanf("%d %d",&n,&m);
    for(i=0;i<m;i++)
    {
        int s,t,p,c;
        scanf("%d %d %d %d",&s,&t,&p,&c);
        for(j=0;j<c;j++)
        {
            int a,b,k;
            scanf("%d %d",&a,&b);
            for(k=0;k<100;k++)
            {
                int tmpzhongMoney;
                if(k>=s && k<=t)
                    tmpzhongMoney=b*p/100;
                else
                    tmpzhongMoney=b;
                if(zhongMoney[a]==0)
                {
                    cost[k]+=tmpzhongMoney;
                    zhongMoney[a] =tmpzhongMoney;
                }else if(tmpzhongMoney<zhongMoney[a])
                {
                    cost[k]-=zhongMoney[a];
                    cost[k]+=tmpzhongMoney;
                    zhongMoney[a] =tmpzhongMoney;
                }
            }
        }

    }
    int ans=cost[0];
    for(i=0;i<m;i++)
    {
        if(cost[i]<ans)
            ans = cost[i];
    }
    printf("%d",ans);
	return 0;
}

J题答案

做这题的时候是真的离谱
首先是我忘了scanf读取字符要怎么敲
然后又不知道为什么内存泄漏,蓝桥杯官方给的devc编辑器直接没反应了,一跑程序windows就提示病毒,我也是第一次遇见这种情况哈哈哈哈,后来换了我平时用的codeblocks编译时会提醒我哪里代码有问题,改好就正常了

同样拿基础分,“优化”这种东西你想得到就很快想出来了,想不到就别死磕了,蓝桥杯每道题能拿一半分也稳国一了吧,当然我拿不到哈哈哈


#include <bits/stdc++.h>
using namespace std;

char str[100010];

int main()
{
	int m,i,j;
	scanf("%s",str);
	scanf("%d",&m);
	for(i=0;i<m;i++)
	{
		int l,r;
		char x,y;
		scanf("%d %d",&l,&r);
		getchar();
		x= getchar();
		getchar();
		y= getchar();
		for(j=l-1;j<r;j++)
			if(str[j]==x)
				str[j]=y;
	}
	printf("%s",str);
	return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 17:54:42  更:2022-06-25 17:55:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/11 2:19:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码