zl程序教程

您现在的位置是:首页 >  后端

当前栏目

第十三届蓝桥杯Java_C组题目

JAVA 蓝桥 题目 第十三届
2023-09-14 09:05:03 时间

目录

试题 A: 排列字母

试题 B: 特殊时间

试题 C: 纸张尺寸

试题 D: 求和

试题 E: 矩形拼接

试题 F: 选数异或

试题 G: GCD

试题 H: 青蛙过河

试题 I: 因数平方和

试题 J: 最长不下降子序列


试题 A: 排列字母

本题总分:5 分

【问题描述】

        小蓝要把一个字符串中的字母按其在字母表中的顺序排列。

        例如,LANQIAO 排列后为 AAILNOQ。

        又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY 。

        请问对于以下字符串,排列之后字符串是什么?

        WHERETHEREISAWILLTHEREISAWAY

【答案提交】

        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内 容将无法得分。

试题 B: 特殊时间

本题总分:5 分

【问题描述】

        2022 年 2 月 22 日 22:20 是一个很有意义的时间,年份为 2022,由 3 个 2 和 1 个 0 组成,如果将月和日写成 4 位,为 0222,也是由 3 个 2 和 1 个 0 组 成,如果将时间中的时和分写成 4 位,还是由 3 个 2 和 1 个 0 组成。

         小蓝对这样的时间很感兴趣,他还找到了其它类似的例子,比如 111 年 10 月 11 日 01:11,2202 年 2 月 22 日 22:02 等等。

        请问,总共有多少个时间是这种年份写成 4 位、月日写成 4 位、时间写成 4 位后由 3 个一种数字和 1 个另一种数字组成。注意 1111 年 11 月 11 日 11:11 不算,因为它里面没有两种数字。

【答案提交】

        这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一 个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

试题 C: 纸张尺寸

时间限制: 1.0S 内存限制: 512.0MB 本题总分:10 分

【问题描述】

        在 ISO 国际标准中定义了 A0 纸张的大小为 1189MM × 841MM,将 A0 纸 沿长边对折后为 A1 纸,大小为 841MM × 594MM,在对折的过程中长度直接取 下整(实际裁剪时可能有损耗)。将 A1 纸沿长边对折后为 A2 纸,依此类推。

         输入纸张的名称,请输出纸张的大小。

【输入格式】

        输入一行包含一个字符串表示纸张的名称,该名称一定是 A0、A1、A2、 A3、A4、A5、A6、A7、A8、A9 之一。

【输出格式】

输出两行,每行包含一个整数,依次表示长边和短边的长度。

【样例输入 1】

A0

【样例输出 1】

1189

841

【样例输入 2】

A1

【样例输出 2】

841

594

试题 D: 求和

时间限制: 1.0S 内存限制: 512.0MB 本题总分:10 分

【问题描述】

        给定 N 个整数 A1, A2, · · · , AN ,求它们两两相乘再相加的和,即 S = A1 · A2 + A1 · A3 + · · · + A1 · AN + A2 · A3 + · · · + AN−2 · AN−1 + AN−2 · AN + AN−1 · AN.

【输入格式】

        输入的第一行包含一个整数 N 。

        第二行包含 N 个整数 A1, A2, · · · AN。

【输出格式】

        输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。

【样例输入】

4

1 3 6 9

【样例输出】

117

【评测用例规模与约定】

        对于 30% 的数据,1 ≤ N ≤ 1000,1 ≤ AI ≤ 100。

        对于所有评测用例,1 ≤ N ≤ 200000,1 ≤ AI ≤ 1000。

试题 E: 矩形拼接

时间限制: 1.0S 内存限制: 512.0MB 本题总分:15 分

【问题描述】

        已知 3 个矩形的大小依次是 A1 × B1, A2 × B2 和 A3 × B3。用这 3 个矩形能拼 出的所有多边形中,边数最少可以是多少?

         例如用 3 × 2 的矩形(用 A 表示)、4 × 1 的矩形(用 B 表示)和 2 × 4 的矩 形(用 C 表示)可以拼出如下 4 边形。

        例如用 3 × 2 的矩形(用 A 表示)、3 × 1 的矩形(用 B 表示)和 1 × 1 的矩 形(用 C 表示)可以拼出如下 6 边形。

【输入格式】

        输入包含多组数据。

         第一行包含一个整数 T,代表数据组数。

         以下 T 行,每行包含 6 个整数 A1, B1, A2, B2, A3, B3,其中 A1, B1 是第一个矩 形的边长,A2, B2 是第二个矩形的边长,A3, B3 是第三个矩形的边长。

【输出格式】

        对于每组数据,输出一个整数代表答案。

【样例输入】

2

2 3 4 1 2 4

1 2 3 4 5 6

【样例输出】

4

8

【评测用例规模与约定】

        对于 10% 的评测用例,1 ≤ T ≤ 5,1 ≤ A1, B1, A2, B2, A3, B3 ≤ 10,A1 = A2 = A3。

         对于 30% 的评测用例,1 ≤ T ≤ 5,1 ≤ A1, B1, A2, B2, A3, B3 ≤ 10。

        对于 60% 的评测用例,1 ≤ T ≤ 10,1 ≤ A1, B1, A2, B2, A3, B3 ≤ 20。

         对于所有评测用例,1 ≤ T ≤ 1000,1 ≤ A1, B1, A2, B2, A3, B3 ≤ 100。 

试题 F: 选数异或

时间限制: 1.0S 内存限制: 512.0MB 本题总分:15 分

【问题描述】

        给定一个长度为 N 的数列 A1, A2, · · · , AN 和一个非负整数 X,给定 M 次查 询, 每次询问能否从某个区间 [L,R] 中选择两个数使得他们的异或等于 X 。

【输入格式】

        输入的第一行包含三个整数 N, M, X 。

        第二行包含 N 个整数 A1, A2, · · · , AN 。

         接下来 M 行,每行包含两个整数 LI ,RI 表示询问区间 [LI ,RI ] 。

【输出格式】

对于每个询问, 如果该区间内存在两个数的异或为 X 则输出 YES, 否则输出 NO。

【样例输入】

4 4 1

1 2 3 4

1 4

1 2

2 3

3 3

【样例输出】

YES

NO

YES

NO

【样例说明】

        显然整个数列中只有 2, 3 的异或为 1。

【评测用例规模与约定】

        对于 20% 的评测用例,1 ≤ N, M ≤ 100;

        对于 40% 的评测用例,1 ≤ N, M ≤ 1000;

        对于所有评测用例,1 ≤ N, M ≤ 100000 ,0 ≤ X < 2 20 ,1 ≤ LI ≤ RI ≤ N , 0 ≤ AI < 2 20。

试题 G: GCD

时间限制: 1.0S 内存限制: 512.0MB 本题总分:20 分

【问题描述】

        给定两个不同的正整数 A, B,求一个正整数 K 使得 GCD(A + K, B + K) 尽可能 大,其中 GCD(A, B) 表示 A 和 B 的最大公约数,如果存在多个 K,请输出所有满 足条件的 K 中最小的那个。

【输入格式】

        输入一行包含两个正整数 A, B,用一个空格分隔。

【输出格式】

        输出一行包含一个正整数 K。

【样例输入】

5 7

【样例输出】

1

【评测用例规模与约定】

        对于 20% 的评测用例,A < B ≤ 105 ;

        对于 40% 的评测用例,A < B ≤ 109 ;

        对于所有评测用例,1 ≤ A < B ≤ 1018 。

 试题 H: 青蛙过河

时间限制: 1.0S 内存限制: 512.0MB 本题总分:20 分

【问题描述】

        小青蛙住在一条河边,它想到河对岸的学校去学习。小青蛙打算经过河里 的石头跳到对岸。

         河里的石头排成了一条直线,小青蛙每次跳跃必须落在一块石头或者岸上。 不过,每块石头有一个高度,每次小青蛙从一块石头起跳,这块石头的高度就 会下降 1,当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃 后使石头高度下降到 0 是允许的)。

         小青蛙一共需要去学校上 X 天课,所以它需要往返 2X 次。当小青蛙具有 一个跳跃能力 Y 时,它能跳不超过 Y 的距离。

        请问小青蛙的跳跃能力至少是多少才能用这些石头上完 X 次课。

【输入格式】

        输入的第一行包含两个整数 N, X,分别表示河的宽度和小青蛙需要去学校 的天数。请注意 2X 才是实际过河的次数。

         第二行包含 N − 1 个非负整数 H1, H2, · · · , HN−1,其中 HI > 0 表示在河中与 小青蛙的家相距 I 的地方有一块高度为 HI 的石头,HI = 0 表示这个位置没有石头。

【输出格式】

        输出一行,包含一个整数,表示小青蛙需要的最低跳跃能力。

【样例输入】

5 1

1 0 1 0

【样例输出】

4

【样例解释】

        由于只有两块高度为 1 的石头,所以往返只能各用一块。第 1 块石头和对 岸的距离为 4,如果小青蛙的跳跃能力为 3 则无法满足要求。所以小青蛙最少 需要 4 的跳跃能力。

【评测用例规模与约定】

        对于 30% 的评测用例,N ≤ 100;

         对于 60% 的评测用例,N ≤ 1000;

         对于所有评测用例,1 ≤ N ≤ 105 , 1 ≤ X ≤ 109 , 1 ≤ HI ≤ 104。

试题 I: 因数平方和

时间限制: 1.0S 内存限制: 512.0MB 本题总分:25 分

【问题描述】

        记 F(X) 为 X 的所有因数的平方的和。例如:F(12) = 12 + 22 + 32 + 42 + 62 + 122。

        定义 G(N) = ∑N I=1 F(I) 。给定 N, 求 G(N) 除以 109 + 7 的余数。

【输入格式】

        输入一行包含一个正整数 N。

【输出格式】

        输出一个整数表示答案 G(N) 除以 109 + 7 的余数。

【样例输入】

100000

【样例输出】

394827960

【评测用例规模与约定】

        对于 20% 的评测用例,N ≤ 105。

         对于 30% 的评测用例,N ≤ 107。

         对于所有评测用例,1 ≤ N ≤ 109。

试题 J: 最长不下降子序列

时间限制: 1.0S 内存限制: 512.0MB 本题总分:25 分

【问题描述】

        给定一个长度为 N 的整数序列:A1, A2, · · · , AN。现在你有一次机会,将其 中连续的 K 个数修改成任意一个相同值。请你计算如何修改可以使修改后的数 列的最长不下降子序列最长,请输出这个最长的长度。

        最长不下降子序列是指序列中的一个子序列,子序列中的每个数不小于在 它之前的数。

【输入格式】

        输入第一行包含两个整数 N 和 K。

        第二行包含 N 个整数 A1, A2, · · · , AN。

【输出格式】

        输出一行包含一个整数表示答案。

【样例输入】

5 1

1 4 2 8 5

【样例输出】

4

【评测用例规模与约定】

        对于 20% 的评测用例,1 ≤ K ≤ N ≤ 100;

         对于 30% 的评测用例,1 ≤ K ≤ N ≤ 1000;

        对于 50% 的评测用例,1 ≤ K ≤ N ≤ 10000;

         对于所有评测用例,1 ≤ K ≤ N ≤ 105,1 ≤ AI ≤ 106