2024年十五届蓝桥杯省赛大学B组真题(Java完整版)

server/2024/10/18 8:32:20/

2024年十五届蓝桥杯省赛大学B组真题(Java)

前言:

赛后一直犹豫要不要对比赛进行复盘出个题解,拖到了现在,终于也是等到比赛结果出来,看到没有辜负个人期望成功取得省一,决定在国赛前对省赛进行一个复盘,顺带查漏补缺,总体而言,这次JavaB组的省赛题偏基础,没有太多的算法,也是延续了暴力杯的头衔,这次对数学的考察居然比以往提高了不少,令我感到意外,题外话不多说,让我们一起来复盘一下第十五届的省赛题吧,同时也祝愿各位能取得一个不错的成绩。
(未完篇)

试题A:报数游戏

本题总分:5 分

【问题描述】

在这里插入图片描述

【答案提交】

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

答案:2429042904288

【解题思路】

该题数据量大,单纯靠电脑跑不太现实,那么其中肯定有数学规律在,通过计算可以得出 20 和 24 的最小公倍数是 120 ,再对符合条件的前四十个数进行输出,我们可以发现该规律是十次一循环,每次结尾都是 120 的倍数,那么我们可以求得第 202420242020 个数的值为 202420242020/10*120=2429042904240 ,再通过观察发现第四个数与上一个循环相差 48 ,把两个数值相加得到答案 2429042904288

【代码】

java">package SS2024b.baoshuyouxi;public class Main {public static void main(String[] args) {long n = 202420242024L;
//		long count = 0;
//		for (long i = 1; count < 40; i++) {
//			if (i * 4 % 20 == 0 || i * 4 % 24 == 0) {
//				count++;
//				System.out.println(i * 4);
//			}
//		}long num1 = (n - 4) / 10 * 120;long num2 = 48;long num = num1 + num2;System.out.println(num);}
}

试题 B: 类斐波那契循环数

本题总分:5 分

【问题描述】

在这里插入图片描述

【答案提交】

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

答案:7913837

【解题思路】

给出一个判断是否为类斐波那契循环数的判断式,该判断式类似于滚动窗口,固定取一个窗口大小,该大小为 n 的值,维护窗口内所有值的和 sum ,判断 sum 在小于等于 n 是是否存在相等的情况即可,从 1e7 开始一直递减遍历下去,遇到的第一个符合条件的数即为答案。

【代码】

java">package SS2024b.leifeibonaqixunhuan;import java.util.ArrayList;public class Main {public static void main(String[] args) {int l = (int) 1e7;while (l > 0) {if (isLei(l)) {System.out.println(l);break;}l--;}}static boolean isLei(int n) {boolean flag = false;int n1 = n;ArrayList<Integer> ys = new ArrayList<Integer>();while (n1 != 0) {ys.add(n1 % 10);n1 /= 10;}ArrayList<Integer> s = new ArrayList<Integer>();s.add(0);int sum = 0;for (int i = ys.size() - 1; i >= 0; i--) {s.add(ys.get(i));sum += ys.get(i);}int index = 0;while (sum <= n) {if (index != 0) {sum *= 2;}s.add(sum -= s.get(index++));if (sum == n) {flag = true;break;}}return flag;}
}

试题 C: 分布式队列

时间限制: 3.0s 内存限制: 512.0MB 本题总分:10 分

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述

【输出格式】

对于每一个 query 操作,输出一行,包含一个整数表示答案。

【样例输入】

java">3
add 1
add 2
query
add 1
sync 1
sync 1
sync 2
query
sync 1
query
sync 2
sync 2
sync 1
query

【样例输出】

java">0
1
1
3

【样例说明】

在这里插入图片描述

【评测用例规模与约定】

在这里插入图片描述

【解题思路】

该题只需要使用队列或者集合来模拟该操作过程以及掌握不断获取输入数据的操作,在每次进行查询操作时,输出最短的队列长度即为答案。

【代码】

java">package SS2024b.fenbushiduilie;import java.util.ArrayList;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();ArrayList<Integer>[] list = new ArrayList[n];for (int i = 0; i < n; i++) {list[i] = new ArrayList<Integer>();}while (scan.hasNext()) {String cz = scan.next();if (cz.equals("add")) {int element = scan.nextInt();list[0].add(element);} else if (cz.equals("sync")) {int follower_id = scan.nextInt();if (list[0].size() != list[follower_id].size()) {list[follower_id].add(list[0].get(list[follower_id].size()));}} else if (cz.equals("query")) {int min = list[0].size();for (int i = 1; i < n; i++) {min = Math.min(min, list[i].size());}System.out.println(min);}}scan.close();}
}

试题 D: 食堂

时间限制: 3.0s 内存限制: 512.0MB 本题总分:10 分

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述

【输出格式】

输出共 q 行,每行一个整数表示对应输入数据的答案。

【样例输入】

java">2
3 0 1 0 1
0 2 2 1 1

【样例输出】

java">6
10

【样例说明】

在这里插入图片描述

【评测用例规模与约定】

在这里插入图片描述

【解题思路】

【代码】

java">

试题 E: 最优分组

时间限制: 3.0s 内存限制: 512.0MB 本题总分:15 分

【问题描述】

在这里插入图片描述

【输入格式】

第一行,一个整数 N。
第二行,一个浮点数 p。

【输出格式】

输出一行,一个整数 K 表示答案。

【样例输入】

java">1000
0.05

【样例输出】

java">5

【样例说明】

【评测用例规模与约定】

在这里插入图片描述

【解题思路】

本题是求解数学期望值,最大期望用试剂量为 N ,分成每组 k 只宠物后,生病概率为 1-(1-p) k ^k k ,固定要使用的试剂量为 n/k ,如果一组宠物生病的额外用试剂量为 k ,生病的总用试剂量为 k*[1-(1-p) k ^k k]n/k ,则总的期望用试剂量为 k[1-(1-p) k ^k k]*n/k+n/k 利用该式可求得最小期望值所代表的 k 。

【代码】

java">package SS2024b.zuiyoufenzu;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();double p = scan.nextDouble();double min = 1.0 * n;int min_index = 1;for (int k = 1; k <= n; k++) {if (n % k == 0) {double num = k * (1 - Math.pow(1 - p, k)) * n / k + n / k;if (num < min) {min = num;min_index = k;}}}System.out.println(min_index);scan.close();}
}

试题 F: 星际旅行

时间限制: 3.0s 内存限制: 512.0MB 本题总分:15 分

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述

【输出格式】

输出共一行,一个浮点数(四舍五入保留两位小数)。

【样例输入】

java">3 2 3
1 2
2 3
2 1
2 0
1 1

【样例输出】

java">2.00

【样例说明】

在这里插入图片描述

【评测用例规模与约定】

在这里插入图片描述

【解题思路】

【代码】

java">

试题 G: LITS游戏

时间限制: 3.0s 内存限制: 512.0MB 本题总分:20 分

【问题描述】

在这里插入图片描述

【输入格式】

在这里插入图片描述

【输出格式】

对于每组数据,输出一行包含一个字符串。如果此组数据满足题意则输出“Yes”,否则输出 “No”。

【样例输入】

java">2
5
1 1 1 1 1
1 0 1 1 0
1 0 0 0 1
1 0 1 0 1
1 1 1 1 1
5
1 0 0 1 1
1 1 1 1 1
1 1 1 1 0
1 1 1 0 1
0 1 1 1 1

【样例输出】

java">No
Yes

【样例说明】

在这里插入图片描述

【评测用例规模与约定】

在这里插入图片描述

【解题思路】

【代码】

java">

试题 H: 拼十字

时间限制: 3.0s 内存限制: 512.0MB 本题总分:20 分

【问题描述】

在这里插入图片描述

【输入格式】

第一行一个整数 N,表示有 N 个矩形。接下来 N 行,每行输入三个整数 l、w、c 表示一个矩形的长、宽和颜色。

【输出格式】

输出一个整数表示答案。由于答案可能会很大,所以你需要将答案对 1 0 9 10^9 109 + 7 取模之后输出。

【样例输入】

java">5
1 10 0
6 6 0
8 6 1
6 10 0
1 2 1

【样例输出】

java">2

【样例说明】

第 3 个矩形可以和第 1 个矩形拼十字,第 3 个矩形也可以和第 4 个矩形拼十字。所以一共有两对矩形可以拼十字,答案为 2。

【评测用例规模与约定】

对于 30% 的评测用例:1 ≤ N ≤ 5000。
对于 100% 的评测用例:1 ≤ N ≤ 1 0 5 10^5 105,1 ≤ l,w ≤ 1 0 5 10^5 105,0 ≤ c ≤ 2。

【解题思路】

【代码】

java">

http://www.ppmy.cn/server/24616.html

相关文章

维态思(上海)环保科技有限公司 | 2024全国水科技大会暨技术装备成果展览会

嘉宾简介 胡建龙 维态思&#xff08;上海&#xff09;环保科技有限公司 总经理 报告题目&#xff1a;微生态滤床 植物工厂——小城镇生活污水生态净化及零排放案例分享 国家注册设备工程师&#xff08;给排水&#xff09;、上海市&#xff08;合作交流&#xff09;五四青年…

ubuntu下安装python模块 pip intall xxx报错

报错内容大概如下&#xff1a; WARNING: Retrying (Retry(total4, connectNone, readNone, redirectNone, statusNone)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f0fc68d6370>: Failed to establ…

Unity List底层源码剖析

文章目录 前言一、List源码二、Add接口三、Remove接口四、Insert接口五、其他接口1、[]接口2、Clear接口3、Contains接口4、ToArray接口5、Find接口6、Enumerator接口7、Sort接口 六、线程安全总结 前言 没有扎实的基础&#xff0c;很多编写的程序会随着软件规模的扩大或扩展而…

【软件工程】第一章概述与软件生命周期

目录 软件开发方法学&#xff1a;结构化方法面向对象方法两种开发方法的区别从结构到面向对象面向对象技术的优势 什么是软件&#xff1f;为什么出现软件工程学科&#xff1f;软件危机 软件工程的概念软件生命&#xff08;存&#xff09;周期------------重点⭐每个时期每个阶段…

ansible-playbook离线升级centos内核

目录 概述实践ansible目录结构关键代码执行效果 结束 概述 内核离线包官网下载地址如下&#xff1a; 地址 实践 ansible目录结构 如对 ansible 不熟悉&#xff0c;离线包下载有问题&#xff0c;请至此地址下载&#xff0c;按本文操作可直接使用。 相关文章链接如下 文章地…

服务器数据恢复—多块磁盘离线导致阵列瘫痪,上层lun不可用的数据恢复案例

服务器存储数据恢复环境&#xff1a; 某品牌MSA2000存储&#xff0c;该存储中有一组由8块SAS硬盘&#xff08;其中有一块热备盘&#xff09;组建的RAID5阵列&#xff0c;raid5阵列上层划分了6个lun&#xff0c;均分配给HP-Unix小型机使用&#xff0c;主要数据为oracle数据库和O…

人脸识别开源算法库和开源数据库

目录 1. 人脸识别开源算法库 1.1 OpenCV人脸识别模块 1.2 Dlib人脸识别模块 1.3 SeetaFace6 1.4 DeepFace 1.5 InsightFace 2. 人脸识别开源数据库 2.1 CelebA 2.2 LFW 2.3 MegaFace 2.4 Glint360K 2.5 WebFace260M 人脸识别 (Face Recognition) 是一种基于人的面部…

Ubuntu TeamViewer安装与使用

TeamViewer是一款跨平台的专有应用程序&#xff0c;允许用户通过互联网连接从全球任何地方远程连接到工作站、传输文件以及召开在线会议。它适用于多种设备&#xff0c;例如个人电脑、智能手机和平板电脑。 TeamViewer可以派上用场&#xff0c;尤其是在排除交通不便或偏远地区…