当前位置: 首页 > news >正文

青岛微信网站制作福州开发企业网站

青岛微信网站制作,福州开发企业网站,高性能网站开发 书籍,长沙设计公司排行榜文章目录 试题A#xff1a;劲舞团试题B#xff1a;召唤数字精灵试题C#xff1a;封闭图形的个数试题D#xff1a;商品库存管理试题E#xff1a;砍柴试题F#xff1a;回文字符串试题G#xff1a;最大异或节点试题H#xff1a;植物生命力 试题A#xff1a;劲舞团 【问题… 文章目录 试题A劲舞团试题B召唤数字精灵试题C封闭图形的个数试题D商品库存管理试题E砍柴试题F回文字符串试题G最大异或节点试题H植物生命力 试题A劲舞团 【问题描述】 小蓝最近迷上了一款名为“劲舞团”的游戏具体来说只要按照游戏中给出的键位提示依次按出对应的键位游戏人物便可以跟随节奏跳舞。对于连续的K 次正确敲击如果任意连续的两次敲击间间隔时间都小于等于1s那么我们称这是一次K 连击。现在给出一局小蓝的游戏记录文件log.txt 中记录了N 条记录每条记录有三个字段依次为正确的敲击字符、小蓝打出的字符、打出字符的时间对应的毫秒时间戳。现在请你计算下最长的K 连击是多少你只需要输出K 的值。 【答案提交】 这是一道结果填空的题你只需要算出结果后提交即可。本题的结果为一个整数在提交答案时只填写这个整数填写多余的内容将无法得分。 【解题思路】 整体不难但是需要注意一些细节 连击中断分两种情况。第一种情况是间隔时间太长该情况下只需要下次敲击正确并且在间隔时间内就直接算是2连。第二种情况是敲错这种情况下即使下次敲击正确并且在间隔时间内也只是“1连”。 【Java代码】 import java.util.*; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileReader; import java.lang.*;public class Problem1 {public static void main(String[] args) throws Exception {BufferedReader bufferedReader new BufferedReader(new FileReader(D:\\WSKH\\MyData\\Master\\比赛或项目\\研1\\第十五届蓝桥杯 \\LQSP2024_JG\\LQSP2024_JG\\log.txt));String lineString null;int maxRes 0;int tempRes 0;long lastTime 0;while((lineString bufferedReader.readLine()) ! null) {String[] splitStrings lineString.split( );if(splitStrings[0].equals(splitStrings[1])) {// 正确敲击long curTime Long.parseLong(splitStrings[2]);if(curTime - lastTime 1000) {// 正确敲击且在1秒内tempRes;if(tempRes 2) {maxRes Math.max(maxRes, tempRes);}}else {// 正确敲击却在1秒外当前敲击就是第一次下一次正确敲击就可以触发2连tempRes 1;}lastTime curTime;}else {// 不正确敲击就直接归零tempRes 0;lastTime 0;}}bufferedReader.close();System.out.println(maxRes); // 9} }试题B召唤数字精灵 【问题描述】 数学家们发现了两种用于召唤强大的数学精灵的仪式这两种仪式分别被称为累加法仪式A(n) 和累乘法仪式B(n)。 累加法仪式A(n) 是将从1 到n 的所有数字进行累加求和即A(n) 1 2 … n 。 累乘法仪式B(n) 则是将从1 到n 的所有数字进行累乘求积即B(n) 1 * 2 * … * n 。 据说当某个数字i 满足A(i) - B(i) 能被100 整除时数学精灵就会被召唤出来。 现在请你寻找在1 到 2024041331404202 之间有多少个数字 i能够成功召唤出强大的数学精灵。 【答案提交】 这是一道结果填空题你只需要算出结果后提交即可。本题的结果为一个整数在提交答案时只填写这个整数填写多余的内容将无法得分。 【解题思路】 这题数字 2024041331404202 太大了程序求解应该是求不出。所以这题应该是数学题或找规律题。我从小的数开始调试于是发现了如下规律 传入 2024041331404202答案是 40480826628084 传入 202404133140420答案是 4048082662808 传入 20240413314042答案是 404808266281 传入 2024041331404答案是 40480826628 传入 202404133140答案是 4048082663 传入 20240413314答案是 404808266 传入 2024041331答案是 40480827 传入 202404133答案是 4048083 传入 20240413答案是 404808 传入 2024041答案是 40481 传入 202404答案是 4048 传入 20240答案是 405 传入 2024答案是 40 传入 202答案是 4 写到这大家应该大致都感受出一些规律了。下面直接看代码吧。 【Java代码】 import java.util.*; import java.lang.*;public class Problem2 {public static long solve(long num) {num * 2;num / 10;if(num % 10 5) {num 10;}return num / 10;}public static void main(String[] args) {// 2024041331404202LSystem.out.println(solve(2024041331404202L)); // 40480826628084} }试题C封闭图形的个数 【问题描述】 在蓝桥王国数字的大小不仅仅取决于它们的数值大小还取决于它们所形成的“封闭图形”的个数。 封闭图形是指数字中完全封闭的空间例如数字1、2、3、5、7 都没有形成封闭图形而数字0、4、6、9 分别形成了1 个封闭图形数字8 则形成了2个封闭图形。值得注意的是封闭图形的个数是可以累加的。例如对于数字68由于6 形成了1 个封闭图形而8 形成了2 个所以68 形成的封闭图形的个数总共为3。 在比较两个数的大小时如果它们的封闭图形个数不同那么封闭图形个数较多的数更大。例如数字41 和数字18它们对应的封闭图形的个数分别为1 和2因此数字41 小于数组18。如果两个数的封闭图形个数相同那么数值较大的数更大。例如数字14 和数字41它们的封闭图形的个数都是1但14 41所以数字14 小于数字41。如果两个数字的封闭图形个数和数值都相同那么这两个数字被认为是相等的。 小蓝对蓝桥王国的数字大小规则十分感兴趣。现在他将给定你n 个数a1a2…an请你按照蓝桥王国的数字大小规则将这 n 个数从小到大排序并输出排序后结果。 【输入格式】 输入的第一行包含一个整数n 表示给定的数字个数。 第二行包含n 个整数a1a2…an 相邻整数之间使用一个空格分隔表示待排序的数字。 【输出格式】 输出一行包含n 个整数相邻整数之间使用一个空格分隔表示按照蓝桥王国的数字大小规则从小到大排序后的结果。 【解题思路】 根据题目给的规则写一个Comparator然后传给Java内置的排序算法进行排序即可。 【Java代码】 import java.util.*; import java.lang.*;public class Problem3 {public static int f(int n, int[] data) {int res 0;while(n 0) {res data[n % 10];n / 10;}return res;}public static void main(String[] args) {Scanner scanner new Scanner(System.in);Integer[] arr new Integer[scanner.nextInt()];for (int i 0; i arr.length; i) {arr[i] scanner.nextInt();}int[] data new int[] {1,0,0,0,1,0,1,0,2,1};Arrays.sort(arr,new ComparatorInteger() {public int compare(Integer o1, Integer o2) {int a f(o1, data);int b f(o2, data);if(a b) {return Integer.compare(o1, o2);}return Integer.compare(a, b);}});for (int i 0; i arr.length; i) {if(i arr.length - 1) {System.out.print(arr[i]);}else {System.out.print(arr[i] );}}scanner.close();} }试题D商品库存管理 【问题描述】 在库存管理系统中跟踪和调节商品库存量是关键任务之一。小蓝经营的仓库中存有多种商品这些商品根据类别和规格被有序地分类并编号编号范围从1 至n。初始时每种商品的库存量均为0。 为了高效地监控和调整库存量小蓝的管理团队设计了m 个操作每个操作涉及到一个特定的商品区间即一段连续的商品编号范围例如区间[LR]。执行这些操作时区间内每种商品的库存量都将增加1。然而在某些情况下管理团队可能会决定不执行某些操作使得这些操作涉及的商品区间内的库存量不会发生改变维持原有的状态。 现在管理团队需要一个评估机制来确定如果某个操作未被执行那么最终会有多少种商品的库存量为0。对此请你为管理团队计算出对于每个操作如果不执行该操作而执行其它操作库存量为0 的商品的种类数。 【输入格式】 输入的第一行包含两个整数n 和m分别表示商品的种类数和操作的个数。 接下来的m 行每行包含两个整数L 和R表示一个操作涉及的商品区间。 【输出格式】 输出m 行每行一个整数第i 行的整数表示如果不执行第i 个操作则最终库存量为0 的商品种类数。 【样例输入】 5 3 1 2 2 4 3 5 【样例输出】 1 0 1 【解题思路】 我是直接暴力求解的 【Java代码】 import java.util.*; import java.lang.*;public class Problem4 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int m scanner.nextInt();int[][] data new int[m][2];for (int i 0; i data.length; i) {data[i][0] scanner.nextInt() - 1;data[i][1] scanner.nextInt() - 1;}// 暴力求解int[] res new int[n];for (int i 0; i data.length; i) {for (int j data[i][0]; j data[i][1]; j) {res[j];}}for (int i 0; i data.length; i) {int ans 0;for (int j data[i][0]; j data[i][1]; j) {if(res[j] 1) {ans;}}System.out.println(ans);}scanner.close();} }试题E砍柴 【问题描述】 小蓝和小乔正在森林里砍柴它们有T 根长度分别为n1n2… nT 的木头。对于每个初始长度为n 的木头小蓝和小乔准备进行交替砍柴小蓝先出手。每次砍柴时若当前木头长度为x 需要砍下一截长度为p 的木头然后换另一个人继续砍其中2 ≤ p ≤ x 且p 必须为质数。当轮到某一方时x 1 或x 0 它就没法继续砍柴它就输了。它们会使用最优策略进行砍柴。请对每根木头判断是小蓝赢还是小乔赢如果小蓝赢请输出1 数字1如果小乔赢请输出0 数字0。 【输入格式】 输入的第一行包含一个正整数T 接下来T 行每行包含一个正整数其中第i 的整数为ni 。 【输出格式】 输出T 行每行包含一个整数依次表示对于每一根木头的答案。 【样例输入】 3 1 2 6 【样例输出】 0 1 1 【解题思路】 双表的动态规划 【Java代码】 import java.util.*; import java.lang.*;public class Problem5 {public static boolean isZhiNumber(int num) {if(isZhiDp[num] ! null) {return isZhiDp[num];}for (int i 2; i num; i) {if(num % i 0) {isZhiDp[num] false;return false;}}isZhiDp[num] true;return true;}public static ListInteger getAllZhiNumber(int n) {ListInteger list new LinkedList();for (int i 2; i n; i) {if(isZhiNumber(i)) {list.add(i);}}return list;}public static boolean solve(int n,boolean isLan) {if(isLan) {if(dp1[n] ! null) {return dp1[n];}}else {if(dp2[n] ! null) {return dp2[n];}}boolean b false;if(n 1) {// 遍历所有可以切的数if(lists[n] null) {lists[n] getAllZhiNumber(n);}for(Integer qieNumInteger : lists[n]) {boolean tempB !solve(n-qieNumInteger, !isLan);if(tempB) {b true;break;}}}if(isLan) {dp1[n] b;}else {dp2[n] b;}return b;}static ListInteger[] lists;static Boolean[] isZhiDp;static Boolean[] dp1;static Boolean[] dp2;public static void main(String[] args) {Scanner scanner new Scanner(System.in);int t scanner.nextInt();int[] ns new int[t];int maxN 0;for (int i 0; i ns.length; i) {ns[i] scanner.nextInt();maxN Math.max(maxN, ns[i]);}lists new List[maxN1];dp1 new Boolean[maxN 1];dp2 new Boolean[maxN 1];isZhiDp new Boolean[maxN 1];// 初始化 isZhiDpisZhiDp[1] true;isZhiDp[2] true;for (int i 2; i maxN; i) {for (int j i 1; j maxN; i) {int y i * j;if (y maxN y 0) {isZhiDp[y] false;}else {break;}}}for (int i 0; i ns.length; i) {dp1[ns[i]] solve(ns[i], true);}for (int i 0; i ns.length; i) {System.out.println(dp1[ns[i]] ? 1 : 0);}scanner.close();} }试题F回文字符串 【问题描述】 小蓝最近迷上了回文字符串他有一个只包含小写字母的字符串S 小蓝可以往字符串S 的开头处加入任意数目个指定字符l、q、b ASCII 码分别为108、113、98。小蓝想要知道他是否能通过这种方式把字符串S 转化为一个回文字符串。 【输入格式】 输入的第一行包含一个整数T表示每次输入包含T 组数据。接下来依次描述T 组数据。 每组数据一行包含一个字符串S 。 【输出格式】 输出T 行每行包含一个字符串依次表示每组数据的答案。如果可以将S 转化为一个回文字符串输出Yes否则输出No 。 【样例输入】 3 gmgqlq pdlbll aaa 【样例输出】 Yes No Yes 【解题思路】 暴力求解 【Java代码】 import java.util.*; import java.lang.*;public class Problem6 {public static boolean isHuiWen(String str, boolean b) {int n str.length();for (int i 0; i n; i) {if (str.charAt(i) ! str.charAt(n - i - 1)) {if (b) {return isHuiWen2(str);} else {return false;}}}return true;}public static boolean isHuiWen2(String str) {int n str.length();String tempString ;for (int i 0; i n; i) {char c str.charAt(n - i - 1);if (c l || c q || c b) {tempString c;if (isHuiWen(tempString str, false)) {return true;}} else {break;}}return false;}public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();boolean[] res new boolean[n];for (int i 0; i n; i) {String str scanner.next();res[i] isHuiWen(str, true);}for (int i 0; i res.length; i) {System.out.println(res[i] ? Yes : No);}scanner.close();} }试题G最大异或节点 【问题描述】 小蓝有一棵树树中包含N 个结点编号为0; 1; 2; … ; N - 1 其中每个结点上都有一个整数Xi 。他可以从树中任意选择两个不直接相连的结点a 、b并获得分数Xa ^ Xb 其中 ^ 表示按位异或操作。请问小蓝可以获得的最大分数是多少 【输入格式】 输入的第一行包含一个整数N 表示有N 个结点。 第二行包含N 个整数X1; X2; … ; XN 相邻整数之间使用一个空格分隔。 第三行包含N 个整数F1; F2; … ; FN 相邻整数之间使用一个空格分隔 其中第i 个整数表示i 的父结点编号Fi -1 表示结点 i 没有父结点。 【输出格式】 输出一行包含一个整数表示答案。 【样例输入】 51 0 5 3 4 -1 0 1 0 1 【样例输出】 7 【样例说明】 选择编号为3 和4 的结点x3 3 x4 4 他们的值异或后的结果为3 ^ 4 7 。 【解题思路】 暴力求解 【Java代码】 import java.util.*; import java.lang.*;public class Problem7 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int[] data new int[n];for (int i 0; i data.length; i) {data[i] scanner.nextInt();}int[] fathers new int[n];for (int i 0; i fathers.length; i) {fathers[i] scanner.nextInt();}// 暴力求解int res -1;for (int i 0; i n; i) {for (int j i 1; j n; j) {if(fathers[i] ! j fathers[j] ! i) {res Math.max(res, i ^ j);}}}System.out.println(res);scanner.close();} }试题H植物生命力 【问题描述】 小蓝是一位资深的植物学家他专注于研究植物的相互关系和生命力。在他所照料的森林中每个品种的植物都拥有独特的生命力彼此之间互不相同。 植物的生命力会影响其下级品种的生长。具体地如果下级品种的生命力数值无法被上级品种的生命力数值整除或者下级品种的生命力数值大于上级品种的生命力数值时它们便会受到压制无法茁壮成长。 为了深入研究和定量分析这一现象小蓝构建了一种模型。他将森林中的植物品种关系抽象成了一棵包含n 个结点的树结点的编号从1 到n代表不同的植物品种。其中树的根结点编号为s结点i1 i n的生命力表示为ai。 现在小蓝想要对于每个结点i统计其子树以i 为根的子树中同时满足以下两个条件的子结点的数量 子结点的生命力小于结点i 的生命力ai。子结点的生命力无法被结点i 的生命力ai 整除。 请你帮助小蓝计算出所有子树中满足条件的结点个数的总和。 【输入格式】 输入的第一行包含两个整数n 和s分别表示结点的数量和根结点的编号。 第二行包含n 个互不相同的整数a1; a2; … ; an相邻整数之间使用一个空格分隔其中ai 表示编号为i 的结点的生命力。 接下来的n - 1 行每行包含两个整数u 和v 用一个空格分隔表示编号为u 和v 的结点之间存在一条边。 【输出格式】 输出一行包含一个整数表示所有子树中满足条件的结点个数的总和。 【样例输入】 6 1 6 5 3 2 4 1 1 2 1 3 2 4 2 5 3 6 【样例输出】 4 【解题思路】 暴力求解 【Java代码】 import java.util.*; import java.lang.*;public class Problem8 {static class Node{int num;LinkedListNode nodeList new LinkedList();// 构造函数public Node(int num) {this.num num;}}public static int dfs(int rootNodeNum, Node node) {int tempRes 0;for(Node childNode : node.nodeList) {if(childNode.num rootNodeNum rootNodeNum % childNode.num ! 0) {tempRes ;}tempRes dfs(rootNodeNum, childNode);}return tempRes;}public static void main(String[] args) {Scanner scanner new Scanner(System.in);int n scanner.nextInt();int rootIndex scanner.nextInt()-1;Node[] nodes new Node[n];for (int i 0; i nodes.length; i) {nodes[i] new Node(scanner.nextInt());}for (int i 0; i nodes.length - 1; i) {nodes[scanner.nextInt()-1].nodeList.add(nodes[scanner.nextInt()-1]);}int res 0;for (int i 0; i nodes.length; i) {res dfs(nodes[i].num, nodes[i]);}System.out.println(res);scanner.close();} }
http://www.zqtcl.cn/news/509539/

相关文章:

  • 北京做网站开发公司有哪些网站技术开发文档模板
  • 图解asp.net网站开发实战外管局网站先支后收怎么做报告
  • 访问自己做的网站吗织梦自动生成手机网站
  • 湖南岳阳网站开发网络公司兰州最好的互联网公司
  • 网站上线 流程网站左侧漂浮代码
  • 基于mvc4商务网站开发网站建设引言
  • 深圳网站设计师西安企业100强
  • dz网站数据备份购物网站配色怎么设计
  • 适合网站开发工程师的公司图片百度搜索
  • 网站界面设计需求wordpress single.php
  • 比较权威的房产网站合肥瑶海区地图全图高清版
  • 网站建设公司果动小学电教检查网站建设资料
  • 电子商务网站设计成功的要素青岛网页设计师
  • 门户网站平台建设方案网站开发后如何上线
  • 濮阳做网站的番禺区网络推广渠道
  • 杭州网站seo外包外链图片
  • 苏州网站建设有限公司枣阳建网站
  • 网站开发平台选择如何制作购物网站
  • 专业建设网站企业外包公司企业网站
  • 网站开发需求确认书国家商标注册官网查询系统
  • 国内个人网站建设wordpress 添加搜索
  • 网站建设创新简述网站开发具体流程
  • wordpress小说网站模板南宁企业网站seo
  • 网站开发与设计课程时间网站推广的搜索引擎推广
  • 网站首页幻灯片不显示网页设计制作项目
  • 遂宁网站建设哪家好深圳做响应式网站设计
  • 慈溪建设企业网站wordpress 增加分类字段
  • 毕业设计做系统网站wordpress修改评论框
  • 上海网站开发孵化设计者联盟官网
  • 旅游网站开发需求报告微信创建小程序