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

news/2025/2/13 2:24:39/

目录

第 1 题:特殊日期

问题描述

答案提交

运行限制

代码:

思路:

第 2 题:重合次数

问题描述

答案提交

运行限制

代码:

第 3 题:左移右移 

问题描述

输入格式

输出格式

样例输入

样例输出

样例说明

评测用例规模与约定

运行限制

代码:

思路:

第 4 题:近似gcd


第 1 题:特殊日期

问题描述

对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 1900 年 1 月 1 日至 9999 年 12 月 31 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。

例如,2022 年 11 月 13 日满足要求,因为 2+0+2+2=(1+1)+(1+3) 。

请提交满足条件的日期的总数量。

答案提交

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

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.day13;import java.util.Arrays;/*** @author yx* @date 2023-03-16 12:36*/
public class 特殊日期 {static int[] pinYear=new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};static int[] runYear=new int[]{0,31,29,31,30,31,30,31,31,30,31,30,31};static int ans=0;public static void main(String[] args) {for (int i = 1900; i <=9999 ; i++) {int temp[];if(isRunYear(i)){temp= Arrays.copyOf(runYear,13);}else {temp= Arrays.copyOf(pinYear,13);}int count3=0;char[] temp3=(i+"").toCharArray();int length=temp3.length;for (int l = 0; l < length; l++) {count3+=(temp3[l]-'0');}for (int j = 1; j <= 12; j++) {int count2=0;char[] temp2=(j+"").toCharArray();length=temp2.length;for (int l = 0; l < length; l++) {count2+=(temp2[l]-'0');}for (int k = 1; k <= temp[j]; k++) {int count1=0;char[] temp1=(k+"").toCharArray();length=temp1.length;for (int l = 0; l < length; l++) {count1+=(temp1[l]-'0');}if(count1+count2==count3){ans++;System.out.println(i+" "+j+" "+k);}}}}System.out.println(ans);}static boolean isRunYear(int n){if(n%400==0||(n%4==0&&n%100!=0)){return true;}return false;}
}

思路:

(1)定义两个数组,一个是闰年的的每个月的天数,一个是平年的每个月的天数

(2)接下俩直接暴力遍历就完事儿了

第 2 题:重合次数

问题描述

在同一天中, 从上午 6 点 13 分 22 秒到下午 14 点 36 分 20 秒, 钟表上的 分针和秒针一共重合了多少次?

注意时针、分针、秒针都围绕中心敳匀速运动。

答案提交

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

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.day13;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;/*** @author yx* @date 2023-03-16 13:25*/
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) {int h=6;int m=13;int s=22;int ans=0;while (true){if(h==14&&m==36&&s==20){System.out.println(ans);return;}s++;if(m==s)ans++;if(s==60){m++;//60s等于1mins=0;if(m==60){//60min=1hh++;m=0;}}}}
}

第 3 题:左移右移 

问题描述

小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N

之后小蓝对这个数组进行了 M 次操作, 每次操作可能是以下 2 种之一:

  1. 左移 x, 即把 x 移动到最左边。

  2. 右移 x, 即把 x 移动到最右边。

请你回答经过 MM 次操作之后, 数组从左到右每个数是多少?

输入格式

第一行包含 2 个整数, N 和 M 。

以下 M 行每行一个操作, 其中 “L x "表示左移 x,"Rx "表示右移 x 。

输出格式

输出 NN 个数, 代表操作后的数组。

样例输入

5 3
L 3
L 2
R 1

样例输出

2 3 4 5 1

样例说明

样例中的数组变化如下:

[1,2,3,4,5]→[3,1,2,4,5]→[2,3,1,4,5]→[2,3,4,5,1]

评测用例规模与约定

对于 50% 的评测用例, 1≤N,M≤10000.

对于 100% 的评测用例, 1≤N,M≤200000,1≤x≤N.

运行限制

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

代码:

package 第十四届蓝桥杯三月真题刷题训练.day13;/*** @author yx* @date 2023-03-16 16:33*/import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;/*** @author yx* @date 2023-03-16 16:02*/
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 class  Node implements Comparable<Node>{int power;int value;Node(int power,int value){this.power=power;this.value=value;}@Overridepublic int compareTo(Node o) {if(this.power>o.power){//按照权值排序return 1;}else {return -1;}}}public static void main(String[] args) throws IOException {in.nextToken();int N=(int) in.nval;in.nextToken();int M=(int) in.nval;Node[] nums=new Node[N];for (int i = 0; i < N; i++) {//初始权值定义和value一样大Node node = new Node(i+1,i+1);nums[i]=node;}int start=0;int end=N+1;for (int i = 0; i < M; i++) {String[] strings=ins.readLine().split(" ");int temp=Integer.parseInt(strings[1]);//值对应的是temp,下标对应的是temp-1if(strings[0].equals("L")){nums[temp-1].power=start;start--;}else {nums[temp-1].power=end;end++;}}Arrays.sort(nums);for (int i = 0; i < N; i++) {out.print(nums[i].value+" ");}out.flush();}
}

思路:

  • (1)首先我们对每一组数据看成一个对象,里面有两个元素一个是power即权值,一个是value即它的真实值,初始化时power等于value的大小
  • (2)我们自定义一个类,封装这两个属性,并且对其进行重写其排序方法,让其按照power的值来进行排序
  • (3)关于权值power,如果左移我们让其的power等于(start)并且对start进行一次减减操作,保证下一次左移的数据被赋上的权值更小,权值越小越先输出(即靠左)
  • (4)同理,如果右移我们让其power=(end),并且对end进行加加操作,保证下一次右移的数据其被赋上的权值更大,权值越大越后输出(即靠右)
  • (5)对于没有操作的数据,其权值就为原来的大小即value值,将其按value的大小顺序输出

第 4 题:近似gcd

第十三届蓝桥杯国赛 C++ C组 F 题、Python B组 E 题——近似GCD(AC)_执 梗的博客-CSDN博客第十三届蓝桥杯国赛 C++ C组 F 题、Python B组 E 题——近似GCD(AC)https://blog.csdn.net/m0_57487901/article/details/129155400?spm=1001.2014.3001.5502参考我执梗的代码😘


http://www.ppmy.cn/news/32509.html

相关文章

四、HikariCP 源码分析之初始化分析一

HikariDataSource 的初始化 HikariDataSource是 HikariCP 开放给用户使用连接池的主要操作类。所以,我们创建一个 HikariCP 的连接池,其实就是构造一个HikariDataSource。 两个构造函数 它有两个构造函数:

HTTP 3.0来了,UDP取代TCP成为基础协议,TCP究竟输在哪里?

TCP 是 Internet 上使用和部署最广泛的协议之一&#xff0c;多年来一直被视为网络基石&#xff0c;随着HTTP/3正式被标准化&#xff0c;QUIC协议成功“上位”&#xff0c;UDP“取代”TCP成为基础协议&#xff0c;TCP究竟“输”在哪里&#xff1f; HTTP/3 采用了谷歌多年探索的基…

GPT-4,终于来了!

就在昨天凌晨&#xff0c;OpenAI发布了多模态预训练大模型GPT-4。 这不昨天一觉醒来&#xff0c;GPT-4都快刷屏了&#xff0c;不管是在朋友圈还是网络上都看到了很多信息和文章。 GPT是Generative Pre-trained Transformer的缩写&#xff0c;也即生成型预训练变换模型的意思。…

【华为OD机试真题 JAVA】GPU算力问题

标题:GPU算力问题 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 为了充分发挥Gpu算力, 需要尽可能多的将任务交给GPU执行, 现在有一个任务数组, 数组元素表示在这1s内新增的任务个数, 且每秒都有新增任务, 假设GPU最多一次执行n个任务, 一次执行…

蓝桥杯第五天刷题

第一题&#xff1a;数的分解题目描述本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。把 2019 分解成 3 个各不相同的正整数之和&#xff0c;并且要求每个正整数都不包含数字 2和 4&#xff0c;一共有多少种不同的分解方法&…

Servlet的生命周期和使用

Servlet 课程目标 servlet的生命周期(掌握) servletConfig对象使用(了解) servletContext对象的使用&#xff08;掌握&#xff09; 一.原理 二.Servlet的生命周期 构造 servlet&#xff0c;然后使用 init 方法将其初始化。 第一次发送请求的时候。 执行一次(servlet可以看做…

【Linux】进程优先级前后台理解

环境&#xff1a;centos7.6&#xff0c;腾讯云服务器Linux文章都放在了专栏&#xff1a;【Linux】欢迎支持订阅&#x1f339;相关文章推荐&#xff1a;【Linux】冯.诺依曼体系结构与操作系统【Linux】进程理解与学习&#xff08;Ⅰ&#xff09;浅谈Linux下的shell--BASH【Linux…

watershed 算法原理以及skimage/opencv中的使用

watershed参考分水岭算法代码opencvscikit-image参考 scikit_image中的watershed说明 OpenCV—图像分割中的分水岭算法原理与应用 图像分割的经典算法&#xff1a;分水岭算法 分水岭算法 上图可以描述传统的分水岭算法&#xff0c;这样的算法可能会导致分割过细&#xff0c;遇…