2019年第十届蓝桥杯省赛试题及详解(Java本科A组)     DATE: 2024-05-05 20:22:05

2019年第十届蓝桥杯省赛试题及详解(Java本科A组)


  1. 结果填空 (满分5分)
  2. 结果填空 (满分5分)
  3. 结果填空 (满分10分)
  4. 结果填空 (满分10分)
  5. 结果填空 (满分15分)
  6. 程序设计(满分15分)
  7. 程序设计(满分20分)
  8. 程序设计(满分20分)
  9. 程序设计(满分25分)
  10. 程序设计(满分25分)

【问题描述】

小明对数位中含有 2  、年第0、届蓝及详解1 、桥杯9 的省赛试题数字很感兴趣,在 1 到 40 中这样的数包 括 1 、2、年第9 、届蓝及详解10 至 32、桥杯39 和 40,共 28 个,他们的省赛试题和是 574,平方和是 14362 。 注意,平方和是年第指将每个数分别平方后求和 。

请问,在 1 到 2019 中,所有这样的届蓝及详解数的平方和是多少?
答案:2658417853

【问题描述】

给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求 第 20190324 项的桥杯最后 4 位数字

答案:4659

【问题描述】

下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方

迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下 、省赛试题左 、年第右四个方向之一 。届蓝及详解

对于上面的桥杯迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步 。其中 D、U 、L 、R 分别表示向下 、向上、向左、向右走。

对于下面这个更复杂的迷宫(30 行 50 列),请找出一种通过迷宫的方式, 其使用的步数最少,在步数最少的前提下,请找出字典序最小的一个作为答案。 请注意在字典序中D<L<R<U。(如果你把以下文字复制到文本文件中,请务 必检查复制的内容是否与文档中的一致。在试题目录下有一个文件 maze.txt, 内容与下面的文本相同)
 

【问题描述】

由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨  。

这个法术需要用到他手中的 49 张法术符,上面分别写着 1 至 49 这 49 个 数字 。法术一共持续 7 周,每天小明都要使用一张法术符,法术符不能重复使 用。

每周,小明施展法术产生的能量为这周 7 张法术符上数字的中位数。法术 施展完 7 周后,求雨将获得成功,降雨量为 7 周能量的中位数。 由于干旱太久,小明希望这次求雨的降雨量尽可能大,请大最大值是多少?
答案:34

【问题描述】

RSA 是一种经典的加密算法 。它的基本加密过程如下 。首先生成两个质数 p, q,令 n = p · q,设 d 与 (p − 1) · (q − 1) 互质,则可 找到 e 使得 d · e 除 (p − 1) · (q − 1) 的余数为 1。

n, d, e 组成了私钥,n, d 组成了公钥 。

当使用公钥加密一个整数 X 时(小于 n),计算 C = X**d 密后的密文。

当收到密文 C 时,可使用私钥解开,计算公式为 X = C**e 例如,当 p = 5, q = 11, d = 3 时,n = 55, e = 27 。 若加密数字 24,得 243 mod 55 = 19。解密数字 19,得 1927 mod 55 = 24。

mod n,则 C 是加 mod n 。

现在你知道公钥中 n = 1001733993063167141, d = 212353,同时你截获了 别人发送的密文 C = 20190324,请问,原文是多少?
 

【问题描述】

给定一棵包含 N 个节点的完全二叉树,树上每个节点都有一个权值,按从 上到下 、从左到右的顺序依次是 A1, A2, · · · A**N,如下图所示:

现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点 权值之和最大?如果有多个深度的权值和同为最大,请你输出其中最小的深度 。

注:根的深度是 1。

【问题描述】

“饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N 。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。

每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2 。

如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果 优先级小于等于 3,则会被清除出优先缓存 。

给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优 先缓存中 。

【输入格式】

第一行包含 3 个整数 N、M 和 T 。以下 M 行每行包含两个整数 ts 和 id,表示 ts 时刻编号 id 的外卖店收到

一个订单 。

【输出格式】

输出一个整数代表答案 。

【样例输入】

266 11 52 31 62 21 62

【样例输出】

1

【样例解释】

6 时刻时,1 号店优先级降到 3,被移除出优先缓存;2 号店优先级升到 6, 加入优先缓存 。所以是有 1 家店 (2 号) 在优先缓存中。

【评测用例规模与约定】

对于 80% 的评测用例,1 ≤ N, M, T ≤ 10000。 对于所有评测用例,1 ≤ N,M,T ≤ 100000,1 ≤ ts ≤ T,1 ≤ id ≤ N。
 

【问题描述】

给定一个长度为 N 的数组 A = [A1, A2, · · · A**N ],数组中有可能有重复出现 的整数。

现在小明要按以下方法将其修改为没有重复整数的数组 。小明会依次修改 A2,A3,··· ,A**N  。

当修改 A**i 时,小明会检查 A**i 是否在 A1 ∼ A**i−1 中出现过。如果出现过,则 小明会给 A**i 加上 1 ;如果新的 A**i 仍在之前出现过,小明会持续给 A**i 加 1 ,直 到 A**i 没有在 A1 ∼ A**i−1 中出现过。

当 A**N 也经过上述修改之后,显然 A 数组中就没有重复的整数了 。 现在给定初始的 A 数组,请你计算出最终的 A 数组 。

【输入格式】

第一行包含一个整数 N。 第二行包含N个整数A1,A2,··· ,A**N 。

【输出格式】

输出N个整数,依次是最终的A1,A2,··· ,A**N。

【样例输入】

5 21134

【样例输出】

21345 【评测用例规模与约定】

对于 80% 的评测用例,1 ≤ N ≤ 10000 。 对于所有评测用例,1 ≤ N ≤ 100000,1 ≤ A**i ≤ 1000000 。
 

问题描述】

糖果店的老板一共有 M 种口味的糖果出售。为了方便描述,我们将 M 种 口味编号 1 ∼ M。

小明希望能品尝到所有口味的糖果 。遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售。

幸好糖果包装上注明了其中 K 颗糖果的口味,所以小明可以在买之前就知 道每包内的糖果口味。

给定 N 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖 果  。

【输入格式】

第一行包含三个整数 N、M 和 K。接下来 N 行每行 K 这整数 T1, T2, · · · , T**K,代表一包糖果的口味。

【输出格式】

一个整数表示答案 。如果小明无法品尝所有口味,输出 −1 。

【样例输入】

6 5 3

1 1 2

1 2 3

1 1 3

2 3 5

5 4 2

5 1 2

【样例输出】

2

【评测用例规模与约定】

对于30%的评测用例,1 ≤ N ≤ 20。 对于所有评测样例,1≤N≤100,1≤M≤20,1≤K≤20,1≤T**i ≤M 。
 

【问题描述】

给n,m,k,求有多少对(i,j)满足1 ≤ i ≤ n,0 ≤ j ≤ min(i,m)且Cij ≡ 0(mod k),k 是质数。其中 Cij 是组合数,表示从 i 个不同的数中选出 j 个组成 一个集合的方案数。

【输入格式】

第一行两个数 t, k,其中 t 代表该测试点包含 t 组询问,k 的意思与上文中 相同。

接下来 t 行每行两个整数 n, m,表示一组询问。 【输出格式】

输出 t 行,每行一个整数表示对应的答案 。由于答案可能很大,请输出答 案除以 109 + 7 的余数 。

【样例输入】

12 33

【样例输出】

1

【样例说明】

在所有可能的情况中,只有 C21 = 2 是 2 的倍数。

【样例输入】

25

67

【样例输出】

0 7

【样例输入】

3 23
23333333 23333333 233333333 233333333 2333333333 2333333333

【样例输出】

851883128

959557926

680723120

【数据规模和约定】

对于所有评测用例,1 ≤ k ≤ 108, 1 ≤ t ≤ 105, 1 ≤ n, m ≤ 1018,且 k 是质数。 评测时将使用 10 个评测用例测试你的程序,每个评测用例的限制如下: