目录
第六题:[2021第十二届蓝桥杯青少年组省赛] 黑精灵与白精灵
第一题:[2021第十二届蓝桥杯青少年组省赛] 字符串
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第1题
题目描述
给出一个字符串,然后将字符串逆序输出。
输入格式
输入一个只包含数字及字母的字符串 (2<字符串长度<100)(2<字符串长度<100)。
输出格式
将字符串逆序输出。
输入输出样例
输入 #1复制
abc
输出 #1复制
cba
第二题:[2021第十二届蓝桥杯青少年组省赛] 剪绳子
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第2题
题目描述
一条绳子从中间剪一刀可以剪成两段绳子;如果对折 1 次,中间剪一刀可以剪出3段绳子;如果连续对折 2 次,中间剪一刀可以剪出 5 段绳子;那么,连续对折 n 次,中间剪一刀可以剪出多少段绳子?
通过编写程序,在给定绳子对折次数,计算出中间剪一刀后可剪出绳子的段数。
输入格式
输入一个正整数 n(2<n<20)n(2<n<20)作为绳子对折的次数。
输出格式
输出一个正整数,表示对折n次后的绳子中间剪一刀可以剪出绳子的段数。
输入输出样例
输入 #1复制
2
输出 #1复制
5
第三题:[2021第十二届蓝桥杯青少年组省赛] 合数求和
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第3题
题目描述
合数指自然数中除了能被 1 和它本身整除外,还能被其他数(0除外)整除的数。最小的合数是 4。
如:合数 4 既可以被 1 和 4 整除,还能被 2 整除。
给定一个正整数N,计算出4到N之间所有合数的和。
例如:N 等于 7,其中 4 到 N 之间合数有 4、6,所有合数和等于 10(4+6=10)。
输入格式
输入一个正整数 N(4<N<101)N(4<N<101)。
输出格式
输出一个整数,表示 4 到 N 之间(包含 4 和 N)所有合数的和。
输入输出样例
输入 #1复制
7
输出 #1复制
10
第四题:[2021第十二届蓝桥杯青少年组省赛] 求和比较
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第4题
题目描述
小蓝在学习 C++ 数组时,突发奇想想知道如果将一个连续的正整数数组拆分成两个子数组,然后对拆分出的两个子数组求和并做差,且差值正好等于一个固定的正整数,像这样同一连续的正整数数组拆分方案有多少种。
我们一起帮助小蓝设计一下规则:
- 第一给出两个正整数 N 和 M;
- 第二从 1 到 N 组成一个连续正整数数组 A(A={1,2,3,4……N})A(A={1,2,3,4……N});
- 第三将数组 A 拆分成两个子数组 A1、A2(1.两个子数组中不能出现相同的数;2.子数组中的数字可以是连续的也可以是不连续的;3.拆分出的两组子数组的元素个数可以不同,但总数量等于A数组元素个数);
- 第四对 A1、A2 两个子数组分别求和;
- 第五对 A1、A2 两个子数组的和做差(大的数字减去小的数字);
- 第六如果差值正好等于固定值M,则判定此拆分方案成立。
如:N = 5,M = 1,连续正整数数组 A = {1, 2, 3, 4, 5}。
符合条件的拆分方案有 3 种:
- A1 = {1, 2, 4}, A2={3, 5}, 其中A1的和为7,A2的和为 8,和的差值等于 1
- A1 = {1, 3, 4}, A2 = {2, 5}, 其中A1的和为8,A2的和为 7,和的差值等于 1
- A1 = {3, 4}, A2 = {1, 2, 5}, 其中A1的和为7,A2的和为 8,和的差值等于 1
输入格式
输入两个正整数 NN 和 M(3<N<30,0<=M<=500)M(3<N<30,0<=M<=500)。
输出格式
输出拆分方案数。
输入输出样例
输入 #1复制
5 1
输出 #1复制
3
第五题:[2021第十二届蓝桥杯青少年组省赛] 最大价值
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第5题
题目描述
一名种菜的农民伯伯。需要在给定的时间内完成种菜,现有m种不同的蔬菜提供给农民伯伯选择,且每种蔬菜种植花费的时间不同,每种蔬菜成熟后售卖的价值也不同。
要求:
- 在限定的总时间内进行蔬菜种植,并且种植蔬菜的种类不能超出限制的数量;
- 选择最优的种植方案使得蔬菜成熟后售卖的总价值最大(可选择不同的蔬菜种植)。
例如: 给定的总时间限制为 55,种植蔬菜的种类限制为 3;
3 种蔬菜,种菜的花费时间及售卖价格分别为:第一种 21 和 9,第二种 20 和 2,第三种 30 和 21。
最优的种植方案是选择种植第一种和第三种,两种蔬菜种植总时间 30+21,未超过总时间限制 55。
所种植蔬菜为两种,也未超过种类限制的 3 种。最大总价值为 9+21=30,这个方案是最优的。
输入格式
第一行输入两个正整数 t(1<=t<=600)t(1<=t<=600) 和 m(1<=m<=50)m(1<=m<=50),用一个空格隔开,t 代表种菜总时间限制,m 代表最多可种植蔬菜种类的限制; 接下来的 m 行每行输入两个正整数 t1(1<t1<101)t1(1<t1<101) 和 p(1<p<101)p(1<p<101) 且用一个空格隔开,t1 表示每种蔬菜种植需要花费的时间,p 表示对应蔬菜成熟后售卖的价值。
输出格式
输出一个正整数,表示选择最优的种植方案后,蔬菜成熟后售卖的最大总价值。
输入输出样例
输入 #1复制
53 3 21 9 20 2 30 21
输出 #1复制
30
第六题:[2021第十二届蓝桥杯青少年组省赛] 黑精灵与白精灵
题目背景
第十二届蓝桥杯青少年组省赛2021年4月C++组第6题
题目描述
在一个矩阵精灵王国里有两个精灵,一个叫黑精灵,一个叫白精灵。他们住在一个 N*M 的矩阵方格中的不同位置,黑精灵住在矩阵方格的左上角(1,1),白精灵住在矩阵方格的右下角方格里(N,M)。
在这个矩阵方格例还有一对可穿越的们,这对穿越门的位置不固定,位置可变换(穿越门不会出现在矩阵方格左上角和右下角位置,也不会重叠出现,有且只有一对)。穿越门的功能是当进去其中一扇门的位置后可直接穿越到另一扇门的位置。
如下图所示:
一天黑精灵要去白精灵家做客,需要穿过方格矩阵到达白精灵家,穿行矩阵方格要求:
- 每次只能走一个方格,可以向上、向下、向左、向右行走;
- 每走一个方格记为一步,但从一扇门穿越到另一扇门穿越门不记步数(从方格走到穿越门和从穿越门到其他方格都计 1步);
- 可借助穿越门去白精灵家(可减少行走步数)。
为了尽快到达白精灵加,请你帮助黑精灵找一条最短路线,并且计算出最短路线的步数。
例如: 给出一个 3*4 的矩阵方格,并给出第一个穿越门的坐标位置 N1,M1(2,3),第二个穿越门的坐标位置 N2,M2(3,1),已知黑精灵初始坐标位置左上角(1,1),白精灵坐标位置右下角(N,M)。
假设用两个大写字母 "D" 表示矩阵方格中穿越门的位置,1 代表黑精灵,2 代表白精灵,用数字 0 表示剩余矩阵方格。 如下图所示:
按照穿行矩阵方格要求为左上角方格的黑精灵到右下角方格白精灵家找一条最短路线,计算出最短路线的步数。
路线:从黑精灵初始位置(1,1)到正下方方格(2,1)走 1步,正下方方格(2,1)到其下方穿越们(3,1)"D" 走 1 步,然后穿越到另一扇穿越门(2,3)向正下方(3,3)走 1 步,最后到大白精灵家(3,4)需要走1步,故最短路线需要 4 步。
输入格式
第一行输入两个以一个空格隔开的正整数 N(2<N<101),M(2<M<101)N(2<N<101),M(2<M<101),分别表示 N 行 M 列的方格矩阵;
接下来第二行输入两个以一个空格隔开的正整数:N1(N1<=N),M1(M1<=M)N1(N1<=N),M1(M1<=M),代表第一个穿越门位于第 N1 行第 M1 列;
接下来第三行输入两个以一个空格隔开的正整数:N2(N2<=N),M2(M2<=M),N2(N2<=N),M2(M2<=M), 代表第二个穿越门位于第 N2 行第 M2 列;
注意:两个穿越门位置不能重叠,即不能同时满足 N1 = N2和 M1 = M2;两个穿越门位置也不能位于左上角(1,1)和右下角(M,N);第一个穿越门位置要在第二个穿越门前边或者上边。
输出格式
输出一个整数,表示黑精灵去白精灵家最短路线需要走多少步(可借助穿越门,减少步数),如果没有能到达白精灵家的路线或者其他情况统一输出数字 “0”。
输入输出样例
输入 #1复制
3 4 2 3 3 1
输出 #1复制
4
以上就是第十二届蓝桥杯青少年组省赛真题,可以试试欧