【蓝桥杯】第十六届Java B组竞赛解题实录

题目A:高塔脱险

高塔题目示意图

基础难度题目,主要考察基本编程能力,但需特别注意数值范围问题,使用int类型可能导致数据溢出
正确答案:202

package competition.t1;
import java.io.*;
public class Solution {
static class FastIO {
static InputStreamReader reader = new InputStreamReader(System.in);
static StreamTokenizer tokenizer = new StreamTokenizer(reader);
static BufferedReader buffer = new BufferedReader(reader);
static PrintWriter writer = new PrintWriter(System.out);
static int getInt() throws IOException {
tokenizer.nextToken();
return (int) tokenizer.nval;
}
}
public static void main(String[] args) {
long target = 2025;
long result = 0;
for (long i = 1; i

题目本质是寻找满足特定条件的最小N值。设两个日期为a和b,需满足:
(N + a)能被b整除
(N + b)能被a整除
虽然可以考虑中国剩余定理,但实际可通过枚举法解决
转换思路:若(N+a)是b的倍数,则可表示为N = k*b - a
通过求解k值即可推导出最终结果
答案:409876661809331

package competition.t2;
import java.io.*;
public class Solution {
static class FastIO {
// 输入输出工具类同上
}
public static void main(String[] args) {
long date1 = 20250412, date2 = 20240413;
boolean found = false;
for (int i = 9999; i

位运算异或操作解析:将数字转为二进制后,按位比较,相同为0,不同为1
解题思路有两种:
1. 统计每位1的个数,若所有位都是偶数则满足条件
2. 更简便的方法:若两组异或结果相同,则再次异或必为0
因此只需验证最终异或结果是否为0即可

public class Solution {
static class FastIO {
// 输入输出工具类同上
}
public static void main(String[] args) throws IOException {
int testCases = FastIO.getInt();
while (testCases-- > 0) {
int count = FastIO.getInt();
int xorResult = 0;
for (int i = 1; i

题目要求计算a数组和b数组元素两两组合,其和为质数且不超过n+m的组合数量
关键点在于高效质数判断,直接暴力检测会超时
解决方案:使用埃拉托斯特尼筛法预处理质数表

public class Solution {
static class FastIO {
// 输入输出工具类同上
}
static Set primeCache = new TreeSet<>();
static {
// 预处理质数表
int maxNum = 400000;
boolean[] isPrime = new boolean[maxNum + 1];
Arrays.fill(isPrime, true);
for (int i = 2; i  resultSet = new HashSet<>();
for (int i = 0; i  total) break;
if (primeCache.contains(sum)) {
resultSet.add(sum);
}
}
}
FastIO.writer.print(resultSet.size());
FastIO.writer.flush();
}
}
}

题目E:爆破装置

爆破题目示意图

题目转化为图论问题:将所有圆形装置连接成最小生成树
解题步骤:
1. 若两圆相交,边权为0
2. 若不相交,边权为圆心距减去两圆半径
3. 应用Kruskal或Prim算法求解

public class Solution {
static class FastIO {
// 输入输出工具类同上
}
static class Circle {
int id;
int x;
int y;
int radius;
public Circle(int id, int x, int y, int radius) {
this.id = id;
this.x = x;
this.y = y;
this.radius = radius;
}
}
static class Connection implements Comparable {
int from;
int to;
double cost;
public Connection(int from, int to, double cost) {
this.from = from;
this.to = to;
this.cost = cost;
}
@Override
public int compareTo(Connection other) {
return Double.compare(this.cost, other.cost);
}
}
static int[] parent;
static int findRoot(int x) {
return parent[x] == x ? x : (parent[x] = findRoot(parent[x]));
}
public static void main(String[] args) throws IOException {
int n = FastIO.getInt();
parent = new int[n + 1];
for (int i = 1; i

(注:此处省略部分题目解析,保持原文核心内容但采用不同表达方式)

题目H:研发资源调配

资源分配题目示意图

采用直接模拟的方法解决该问题

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/9364.html

(0)
LomuLomu
上一篇 2025 年 5 月 13 日 上午4:19
下一篇 2025 年 5 月 13 日 上午5:00

相关推荐

  • 高性能MySQL(第4版)PDF、EPUB免费下载

    适读人群 :不但适合数据库管理员(DBA)阅读,也适合开发人员参考学习。不管是数据库新手还是专家,相信都能从本书有所收获 领域经典十年后全版更新||全面拥抱8.0||重磅剖析现代云数据库与大规模运维实践||中国首批DBA精琢翻译5大头部国产数据库创始人联合力荐 电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息…

    2025 年 1 月 12 日
    33900
  • 《重构:改善既有代码的设计(第2版)》PDF、EPUB免费下载

    电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍 点击原文去下载 书籍信息 作者: [美] Martin Fowler出版社: 人民邮电出版社出品方: 异步图书副标题: 改善既有代码的设计原作名: Refactoring: Improving the Design of Existing Code,Second Edition译者: …

    2025 年 1 月 12 日
    50200
  • 2025年MacBook苹果电脑多版本JDK安装与环境配置指南:从JDK8到JDK22的完整教程

    本指南最后更新于:2024年11月28日,包含最新版本支持。重要更新记录:- 2024年02月:新增JDK17环境配置- 2024年05月:解决Maven与JDK版本切换冲突问题- 2024年06月:针对M系列芯片用户推荐ARM版本- 2024年08月:新增JDK22支持- 2024年11月:优化内容排版与视觉效果 本教程所有操作步骤均经过实际验证,确保可行…

    2025 年 5 月 19 日
    1.2K00
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理

    目录 一、ThreadLocal基本知识回顾分析 (一)ThreadLocal原理 (二)既然ThreadLocalMap的key是弱引用,GC之后key是否为null? (三)ThreadLocal中的内存泄漏问题及JDK处理方法 (四)部分核心源码回顾 ThreadLocal.set()方法源码详解 ThreadLocalMap.get()方法详解 Th…

    2025 年 1 月 10 日
    36600
  • Java程序员必读的10本豆瓣高分经典书籍PDF

    要想成为一名优秀的Java程序员,不仅需要精通Java语言本身,还需要扎实的计算机基础、良好的编码习惯以及对软件开发全局的理解。掌握了这些基础知识,就像拥有了九阳神功和乾坤大挪移一样,再学习其它各门各派功夫直接手到擒来! 以下是从计算机基础、编程思想、Java语言、架构设计等方面精选的10本豆瓣高分经典书籍,它们能够帮助Java程序员全面提升编程能力和职业素…

    2025 年 1 月 14 日
    42000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信