欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > 【蓝桥杯研究生组】第15届Java试题答案整理

【蓝桥杯研究生组】第15届Java试题答案整理

2025/9/10 12:01:39 来源:https://blog.csdn.net/liuwanqing233333/article/details/144826633  浏览:    关键词:【蓝桥杯研究生组】第15届Java试题答案整理

D 题


试题 D: 商品库存管理

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


【问题描述】

在库存管理系统中,跟踪和调节商品库存量是关键任务之一。小蓝经营的仓库中存有多种商品,这些商品根据类别和规格被有序地分类并编号,编号范围从 1 至 n 。初始时,每种商品的库存量均为 0。

为了高效地监控和调整库存量,小蓝的管理团队设计了 m 个操作,每个操作涉及到一个特定的商品区间,即一段连续的商品编号范围(例如区间 ([L, R]))。执行这些操作时,区间内每种商品的库存量都将增加 1。然而,在某些情况下,管理团队可能会决定不执行某些操作,使得这些操作涉及的商品区间内的库存量不会发生改变,维持原有的状态。

现在,管理团队需要一个评估机制,来确定如果某个操作未被执行,那么最终会有多少种商品的库存量为 0。对此,请你为管理团队计算出,对于每个操作,如果不执行该操作而执行其它操作,库存量为 0 的商品的种类数。


【输入格式】

输入的第一行包含两个整数 ( n ) 和 ( m ),分别表示商品的种类数和操作的个数。

接下来的 ( m ) 行,每行包含两个整数 ( L ) 和 ( R ),表示一个操作涉及的商品区间。


【输出格式】

输出 ( m ) 行,每行一个整数,第 ( i ) 行的整数表示如果不执行第 ( i ) 个操作,则最终库存量为 0 的商品种类数。


【输入示例】
5 3
1 2
2 4
3 5


【输出示例】
1
0
1


import java.util.Scanner;/**/
public class KuchunManage {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 商品个数int prouctNum = in.nextInt();// 操作个数int operationNum = in.nextInt();int[] products = new int[prouctNum + 1];int[][] operations = new int[operationNum][2];for (int i=0; i<operationNum; i++){int left = in.nextInt();int right = in.nextInt();operations[i][0] = left;operations[i][1] = right;for(int j = left; j<=right; j++) {products[j]++;}}// 去掉第 i 个操作的结果for (int i=0; i<operationNum; i++) {int left = operations[i][0];int right = operations[i][1];for(int j = left; j<=right; j++) {products[j]--;}int ans = 0;for (int k=1; k<=prouctNum; k++){if (products[k] == 0) {ans++;}}// 还原for(int j = left; j<=right; j++) {products[j]++;}System.out.println(ans);}}
}

F 题

在这里插入图片描述

import java.util.Scanner;public class HuiWen {// 能否加入任意个 l 、 q 、 b,使得字符串 S 变为回文字符串// 判断字符串 S 是否是回文字符串public static boolean isHuiWen(String S){int len = S.length();for (int i = 0; i<len / 2; i++){if (S.charAt(i) != S.charAt(len - i - 1)) {return false;}}return true;}public static boolean canBeHuiWen(String S){int len = S.length();int end = 1;// 从头开始早最长的回文for (int i = 1; i<len-1; i++) {String subString = S.substring(0, i);if (isHuiWen(subString)) {end = i;}}// 对 end 之后的字符,判断是否都为 l、q、bfor (int i=end; i<len; i++){if (S.charAt(i) != 'l' && S.charAt(i) != 'q' && S.charAt(i) != 'b') {return false;}}return true;}// 判断字符串 S 中从头开始的最长的回文字串// 1. gmgqlq//  gmg// 剩下的 qlq 可以变为回文// 2. pdlbll// p// 剩下的 dlbll 不能变为回文public static void main(String[] args) {Scanner in = new Scanner(System.in);int count = in.nextInt();for (int i=0; i<count; i++) {String S = in.next();if (isHuiWen(S)){System.out.println("Yes");} else if (canBeHuiWen(S)){System.out.println("Yes");} else {System.out.println("No");}}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com