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

第十四届蓝桥杯三月真题刷题训练——第 11 天

目录

第 1 题:卡片

题目描述

运行限制

第 2 题:路径_dp+gcd

运行限制

第 3 题:字符统计

问题描述

输入格式

输出格式

样例输入

样例输出

评测用例规模与约定

运行限制

第 4 题:费用报销  


第 1 题:卡片

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。

小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。

小蓝想知道自己能从 1 拼到多少。

例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,

但是拼 11 时卡片 1 已经只有一张了,不够拼出11。

现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少?

提示:建议使用计算机编程解决问题。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day11;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Arrays;/*** @author yx* @date 2023-03-14 8:28*/
public class 卡片 {static PrintWriter out =new PrintWriter(System.out);static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in=new StreamTokenizer(ins);/*** 输入* in.nextToken()* int a= (int)in.nval;** 输出* out.print();* out.flush();*/static int[] nums=new int[10];static int i;public static void main(String[] args) {i=0;while (true){i++;char[] num=(i+"").toCharArray();int length=num.length;for (int j = 0; j < length; j++) {nums[num[j] - '0']++;if(nums[num[j]-'0']==2021&&j==length-1) {out.println(i);out.flush();return;}else if(nums[num[j]-'0']==2021&&j!=length-1){out.println(i-1);out.flush();return;}}}}
}

第 2 题:路径_dp+gcd

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。

小蓝的图由 2021 个结点组成,依次编号 1 至 2021。

对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。

例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无 向边,长度为 24;结点 15 和结点 25 之间有一条无向边,长度为 75。

请计算,结点 1 和结点 2021 之间的最短路径长度是多少。

提示:建议使用计算机编程解决问题。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day11;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;/*** @author yx* @date 2023-03-14 8:54*/
public class 路径_01背包_gcd {static PrintWriter out = new PrintWriter(System.out);static BufferedReader ins = new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in = new StreamTokenizer(ins);/*** 输入* in.nextToken()* int a= (int)in.nval;** 输出* out.print();* out.flush();*/public static void main(String[] args) {int[] nums = new int[2022];for (int i = 1; i <= 2021; i++) {//这个地方也比较细节,到i+21时为最大更新区间for (int j = i+1; j <=i+21 ; j++) {if (j == 2022) {//当遍历到2022时,说明在此循环内已经完成了2021之前的更新//2022超出最大范围2021,所以退出当前循环//继续下一个i+1,更新从i+1~2021的最小路径break;}//i*j的最小公倍数等于(i*j)/最大公约数int temp = gcd(i, j);if (nums[j] == 0) {//初始化nums[j] = (int)(i * j / temp) + nums[i];} else {//进行最优化迭代,选出最短路径nums[j] = Math.min(nums[j], i * j / temp + nums[i]);}}}out.println(nums[2021]);out.flush();}static int gcd(int m, int n) {return n != 0 ? gcd(n, m % n) : m;}
}

第 3 题:字符统计

问题描述

给定一个只包含大写字母的字符串 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。

输入格式

一个只包含大写字母的字符串 S.

输出格式

若干个大写字母,代表答案。

样例输入

BABBACAC

样例输出

AB

评测用例规模与约定

对于 100%的评测用例, 1≤∣S∣≤10^6.

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day11;import java.io.*;
import java.util.Arrays;
import java.util.HashMap;/*** @author yx* @date 2023-03-14 9:53*/
public class 字符统计 {static PrintWriter out =new PrintWriter(System.out);static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer in=new StreamTokenizer(ins);/*** 输入* in.nextToken()* int a= (int)in.nval;** 输出* out.print();* out.flush();*/public static void main(String[] args) throws IOException {char[] strings=ins.readLine().toCharArray();int length1=strings.length;int max=0;int[] nums1=new int[26];for (int i = 0; i < length1; i++) {nums1[strings[i]-'A']++;}int length2=nums1.length;int[]nums2= Arrays.copyOf(nums1,nums1.length);Arrays.sort(nums1);max=nums1[25];for (int i = 0; i < length2; i++) {if(nums2[i]==max){System.out.print((char)('A'+i));}}}
}

第 4 题:费用报销  

晚上补题

http://www.lryc.cn/news/39467.html

相关文章:

  • 机器学习入门——线性回归
  • Microsoft Word 远程代码执行漏洞(CVE-2023-21716)
  • Android kotlin 系列讲解(数据篇)SharedPreferences存储及测试
  • 一文了解Web Worker
  • 接口文档包含哪些内容?怎么才能写好接口文档?十年测试老司机来告诉你
  • java面试八股文之------Java并发夺命23问
  • CANoe中使用CAPL刷写流程详解(Trace图解)(CAN总线)
  • 【MySQL】002 -- 日志系统:一条SQL更新语句是如何执行的
  • C++---背包模型---数字组合(每日一道算法2023.3.14)
  • 并查集(不相交集)详解
  • 10个最频繁用于解释机器学习模型的 Python 库
  • final关键字:我偏不让你继承
  • 8大主流编程语言的适用领域,你可能选错了语言
  • 关于Python库的问题
  • 好记性不如烂笔头(2)
  • Java for循环嵌套for循环,你需要懂的代码性能优化技巧
  • 关于我拒绝了腾讯测试开发岗offer这件事
  • 从GPT到GPT-3:自然语言处理领域的prompt方法
  • Git代码提交规范
  • 【JavaScript速成之路】JavaScript内置对象--Math和Date对象
  • (自用POC)Fortinet-CVE-2022-40684
  • ConvNeXt V2实战:使用ConvNeXt V2实现图像分类任务(二)
  • 【人工智能与深度学习】基于正则化潜在可变能量的模型
  • 【Leetcode——排序的循环链表】
  • ChatGPT研究分享:机器第一次开始理解人类世界目录
  • 【linux】Linux基本指令(上)
  • 程序员必会技能—— 使用日志
  • 生成项目的包依赖文件requirements.txt
  • 安卓渐变的背景框实现
  • 【拳打蓝桥杯】算法前置课——时间复杂度与空间复杂度