第十三届蓝桥杯大赛软件赛省赛 Java题解集合

赛题下载查看免费0积分下载。
https://download.csdn.net/download/weixin_43461755/85099936
通过这次比赛,再次打击了我,300块都花了,无论结果怎样,把这次做的题分享出来吧。由于Java比较耗时,我写题解劲量都去测试下极端值(在比赛时没有)

题解还没写完,持续更新中!

第十三届蓝桥杯大赛软件赛省赛 Java题解集合

  • 试题 A: 排列字母
  • 试题 B: 灭鼠先锋
  • 试题 C: 质因数个数
  • 试题 D: 数位排序
  • 试题 E: 蜂巢
  • 试题 F: 爬树的甲壳虫
  • 试题 G: 重新排序
  • 试题 H: 技能升级
  • 试题 I: 最优清零方案
  • 试题 J: 推导部分和

试题 A: 排列字母

本题总分:5 分
【问题描述】
小蓝要把一个字符串中的字母按其在字母表中的顺序排列。
例如,LANQIAO 排列后为 AAILNOQ。
又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY

请问对于以下字符串,排列之后字符串是什么br> WHERETHEREISAWILLTHEREISAWAY
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内
容将无法得分。

解题思路:
直接调API排序输出即可。
说长不长,说短不短,靠肉眼去数还有可能数错,写代码还快些。
解题代码:

答案:AAAEEEEEEHHHIIILLRRRSSTTWWWY

试题 B: 灭鼠先锋

本题总分:5 分
【问题描述】
灭鼠先锋是一个老少咸宜的棋盘小游戏,由两人参与,轮流操作。
灭鼠先锋的棋盘有各种规格,本题中游戏在两行四列的棋盘上进行。游戏
的规则为:两人轮流操作,每次可选择在棋盘的一个空位上放置一个棋子,或
在同一行的连续两个空位上各放置一个棋子,放下棋子后使棋盘放满的一方输
掉游戏。
小蓝和小乔一起玩游戏,小蓝先手,小乔后手。小蓝可以放置棋子的方法
很多,通过旋转和翻转可以对应如下四种情况:
XOOO XXOO OXOO OXXO
OOOO OOOO OOOO OOOO
其中 O 表示棋盘上的一个方格为空,X 表示该方格已经放置了棋子。
请问,对于以上四种情况,如果小蓝和小乔都是按照对自己最优的策略来
玩游戏,小蓝是否能获胜。如果获胜,请用 V 表示,否则用 L 表示。请将四种
情况的胜负结果按顺序连接在一起提交。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个长度为 4 的由大写字母 V 和 L 组成的字符串,如 VVLL,在提交答案时只填
写这个字符串,填写多余的内容将无法得分。

解题思路:
说实话,我题都没读懂,到底是个啥意思额,考语文吗跳过,想好了再来写。
解题代码:

答案:暂时不知道

试题 C: 质因数个数

时间限制: 5.0s 内存限制: 512.0MB 本题总分:10 分
【问题描述】
给定正整数 n,请问有多少个质数是 n 的约数。
【输入格式】
输入的第一行包含一个整数 n。
【输出格式】
输出一个整数,表示 n 的质数约数个数。
【样例输入】
396
【样例输出】
3
【样例说明】
396 有 2, 3, 11 三个质数约数。
【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ n ≤ 10000。
对于 60% 的评测用例,1 ≤ n ≤ 109
对于所有评测用例,1 ≤ n ≤ 1016

解题思路:
直接判断 2 到 sqrt(n) 有哪些数是 n 的约数。
1.判断是否是n的约数,是则进入第2步,否则跳过。
2.判断是否是质数。

备注:我在代码里写了计算时间的代码,不需要查看时间自行注释掉即可。

解题代码:

极端值测试:

第十三届蓝桥杯大赛软件赛省赛 Java题解集合

试题 D: 数位排序

时间限制: 1.0s 内存限制: 512.0MB 本题总分:10 分
【问题描述】
小蓝对一个数的数位之和很感兴趣,今天他要按照数位之和给数排序。当
两个数各个数位之和不同时,将数位和较小的排在前面,当数位之和相等时,
将数值小的排在前面。
例如,2022 排在 409 前面,因为 2022 的数位之和是 6,小于 409 的数位
之和 13。
又如,6 排在 2022 前面,因为它们的数位之和相同,而 6 小于 2022。
给定正整数 n,m,请问对 1 到 n 采用这种方法排序时,排在第 m 个的元
素是多少br> 【输入格式】
输入第一行包含一个正整数 n。
第二行包含一个正整数 m。
【输出格式】
输出一行包含一个整数,表示答案。
【样例输入】
13
5
【样例输出】
3
【样例说明】
1 到 13 的排序为:1, 10, 2, 11, 3, 12, 4, 13, 5, 6, 7, 8, 9。第 5 个数为 3。
【评测用例规模与约定】
对于 30% 的评测用例,1 ≤ m ≤ n ≤ 300。
对于 50% 的评测用例,1 ≤ m ≤ n ≤ 1000。
对于所有评测用例,1 ≤ m ≤ n ≤ 1016

解题思路:
将数列按照题目要求进行排序,最后输出第m个数即可。

备注:因为我在排序时运用了两个for,时间复杂度就超高了,只能跑过50%的评测用例。

解题代码:


                                                        

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月8日
下一篇 2022年3月8日

相关推荐