第十三届蓝桥杯模拟赛第三期

A.填空题

问题描述

请问十六进制数 2021ABCD 对应的十进制是多少?

参考答案

539077581

import java.math.*;
public class Main {public static void main(String[] args) {String str=new BigInteger("2021ABCD",16).toString(10);System.out.println(str);}
}

B.填空题

问题描述

​ 如果一个整数 M 同时是整数 A 和 B 的倍数,则称 M 是 A 和 B 的公倍数,公倍数中最小的一个正整数称为最小公倍数。

例如:2021 和 86 的最小公倍数是 4042。

请问在 1(含) 到 2021(含) 中,有多少个数与 2021 的最小公倍数是 4042。

参考答案

3

public class Main {public static void main(String[] args) {int ans=0;for(int i=1;i<=2021;i++) {if(f(i,2021)==4042) {ans++;System.out.println(i);}}System.out.println(ans);}public static int gcd(int a,int b) {if(b==0)return a;return gcd(b,a%b);}public static int f(int x,int y) {return x*y/gcd(x,y);}
}

C.填空题

问题描述

​ 10 是一个非常特殊的数,它可以表示成两个非负整数的平方和,10 = 3 * 3 + 1 * 1。

​ 9 也是同样特殊的数,它可以表示成 9 = 3 * 3 + 0 * 0。

请问,在 1 到 2021 中有多少个这样的数?

请注意,有的数有多种表示方法,例如 25 = 5 * 5 + 0 * 0 = 3 * 3 + 4 * 4,在算答案时只算一次。

参考答案

624

public class Main {public static void main(String[] args) {int ans=0;for(int i=1;i<=2021;i++) {if(check(i)) {ans++;}}System.out.println(ans);}public static boolean check(int n) {for(int i=0;i<=99;i++) {for(int j=0;j<=99;j++) {if(i*i+j*j==n) {return true;}}}return false;}
}

D.填空题

问题描述

​ 下面是一个8个结点的无向图的邻接矩阵表示,其中第 i 行第 j 列表示结点 i 到结点 j 的边长度。当长度为 0 时表示不存在边。

0 9 3 0 0 0 0 9
9 0 8 1 4 0 0 0
3 8 0 9 0 0 0 0
0 1 9 0 3 0 0 5
0 4 0 3 0 7 0 6
0 0 0 0 7 0 5 2
0 0 0 0 0 5 0 4
9 0 0 5 6 2 4 0

请问,这个图的最小生成树大小的多少?

参考答案

E.填空题

问题描述

下面是一个20*20的矩阵,矩阵中的每个数字是一个1到9之间的数字,请注意显示时去除了分隔符号。

69859241839387868941
17615876963131759284
37347348326627483485
53671256556167864743
16121686927432329479
13547413349962773447
27979945929848824687
53776983346838791379
56493421365365717745
21924379293872611382
93919353216243561277
54296144763969257788
96233972513794732933
81443494533129939975
61171882988877593499
61216868895721348522
55485345959294726896
32124963318242554922
13593647191934272696
56436895944919899246

矩阵中一个子矩阵的值是指子矩阵中所有数值的和。

​请问,矩阵中值最大的一个 5 * 5 的子矩阵的值是多少?

参考答案

154

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int max=Integer.MIN_VALUE;int[][] a=new int[20][20];for(int i=0;i<20;i++) {String str=scan.next();for(int j=0;j<20;j++) {a[i][j]=str.charAt(j)-'0';}}for(int i=5;i<20;i++) {for(int j=5;j<20;j++) {int sum=0;for(int a1=i-5;a1<i;a1++) {for(int a2=j-5;a2<j;a2++) {sum+=a[a1][a2];}}if(sum>max) {max=sum;}}}System.out.println(max);}
}

F.编程题

问题描述

小蓝要写一个网页显示一些商品。

商品总共有 t 个,按顺序由 1 到 t 编号,每页显示 a 个,请问第 p 页显示的最小和最大编号是多少?

输入格式

输入一行包含三个整数 t、a、p,相邻整数之间用一个空格分隔。

输出格式

输出一行包含两个整数,分别表示最小和最大编号。

样例输入

31 10 3

样例输出

21 30

样例输入

31 10 4

样例输出

31 31

评测用例规模与约定

​ 对于所有评测用例,1 <= t <= 1000,1 <= a <= 100,1 <= p。保证第 p 页至少显示一个商品
 

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int t=scan.nextInt();int a=scan.nextInt();int p=scan.nextInt();int count=0;for(int i=1;i<=t;i=i+a) {count+=1;int j=i+a-1;if(count==p) {if(j<t) {System.out.println(i+" "+j);}if(j>=t) {System.out.println(i+" "+t);}}}}
}

G.编程题

问题描述

给定一个正整数 n,请判断 n 的所有数位上的值是否从左到右是严格递增的。

例如:1589 是严格递增的 。

再如:1336 不是严格递增的,中间有相同的 3。

再如:1598 不是严格递增的。

输入格式

输入一行包含一个正整数 n。

输出格式

如果是严格递增的,输出“YES”(全大写),否则输出“NO”(全大写)。

样例输入

1589

样例输出

YES

样例输入

1336

样例输出

NO

评测用例规模与约定

对于所有评测用例,1 <= n <= 1000000000。

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n =scan.nextInt();int count=0;String str=String.valueOf(n);for(int i=1;i<str.length();i++) {if(str.charAt(i)<=str.charAt(i-1)) {count++;break;}}if(count>0) {System.out.println("NO");}else {System.out.println("YES");}}
}

H.编程题

问题描述

小蓝将自己的车停在路边,在同一天将车开走。给定停车时间和开走时间,请问小蓝停了多长时间?

输入格式

输入两行,第一行包含停车时间,第二行包含开走时间。

每个时间的格式为 HH:MM:SS,其中 HH 表示时,值为 0 到 23 的整数,如果小于 10 用 0 补齐两位;MM 和 SS 分别表示分和秒,值为 0 到 59 的整数,小于 10 时用 0 补齐两位。

输出格式

​ 输出总共停车的时间,格式为 HH:MM:SS。

样例输入

08:58:10
17:20:31

样例输出

08:22:21

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scan=new Scanner(System.in);String str1=scan.next();String str2=scan.next();String[] a=new String[3];String[] b=new String[3];a=str1.split(":");b=str2.split(":");int hour=0;int min=0;int s=0;if(Integer.parseInt(b[2])>Integer.parseInt(a[2])) {s=Integer.parseInt(b[2])-Integer.parseInt(a[2]);}else {b[1]=Integer.parseInt(b[1])-1+"";s=Integer.parseInt(b[2])+60-Integer.parseInt(a[2]);}if(Integer.parseInt(b[1])>Integer.parseInt(a[1])) {min=Integer.parseInt(b[1])-Integer.parseInt(a[1]);}else{min=Integer.parseInt(b[1])+60-Integer.parseInt(a[1]);b[0]=Integer.parseInt(b[0])-1+"";}hour=Integer.parseInt(b[0])-Integer.parseInt(a[0]);System.out.printf("%02d"+":"+"%02d"+":"+"%02d",hour,min,s);}
}

I.编程题

问题描述

​ n 个运动员参加一个由 m 项运动组成的运动会,要求每个运动员参加每个项目。

​ 每个运动员在每个项目都有一个成绩,成绩越大排名越靠前。每个项目,不同运功员的成绩不会相同,因此排名不会相同。(但是不同项目可能成绩会相同)

​ 每个项目的前 k 名分别获得 k 到 1 分,第 i 名获得 max(k+1-i, 0) 分。

​ 每个运动员的总分就是他在每个项目上获得的分数之和。

​ 请计算每个运动员的总分。

输入格式

输入的第一行包含两个整数 n, m, k,用一个空格分隔。

接下来 n 行,每行包含 m 个整数,第 i 行第 j 个整数表示第 i 个运动员在第 j 项比赛的成绩。

输出格式

输出一行包含 n 个整数,依次表示每个运动员的总分,相邻的整数之间用一个空格分隔。

样例输入

3 5 2
5 3 1 5 12
2 4 2 34 1
8 6 3 2 2

样例输出

4 4 7

样例说明

​ 第 1 个运动员得分为:1+0+0+1+2=4
​ 第 2 个运动员得分为:0+1+1+2+0=4
​ 第 3 个运动员得分为:2+2+2+0+1=7

评测用例规模与约定

​ 对于 50% 的评测用例,2 <= n, m, k <= 20,0 <= 成绩 <= 1000。
​ 对于所有评测用例,2 <= n, m, k <= 100,0 <= 成绩 <= 10000。
 

import java.util.*;
public class Main {static int k=0;public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();k=scan.nextInt();int num=1;int max=Integer.MIN_VALUE;int[][] a=new int[n][m];//n位运动员m项成绩int[] b=new int[n];//这n位运动员第m项成绩int[] sum=new int[n];//总成绩for(int i=0;i<n;i++) {for(int j=0;j<m;j++) {a[i][j]=scan.nextInt();}}for(int i=0;i<m;i++) {for(int j=0;j<n;j++) {b[j]=a[j][i];}A:while(true) {for(int k=0;k<b.length;k++) {if(b[k]>max) {max=b[k];}}for(int s=0;s<b.length;s++) {if(max==0) {num=1;break A;}if(max==b[s]) {sum[s]+=get(num);num++;max=0;b[s]=0;continue A;}}}}for(int i=0;i<sum.length;i++) {System.out.printf(sum[i]+" ");}}public static int get(int i) {return Math.max(k+1-i, 0);}
}import java.util.*;
public class Main {static int k=0;public static void main(String[] args) {Scanner scan=new Scanner(System.in);int n=scan.nextInt();int m=scan.nextInt();k=scan.nextInt();int num=1;int max=Integer.MIN_VALUE;int[][] a=new int[n][m];//n位运动员m项成绩int[] b=new int[n];//这n位运动员第m项成绩int[] sum=new int[n];//总成绩for(int i=0;i<n;i++) {for(int j=0;j<m;j++) {a[i][j]=scan.nextInt();}}for(int i=0;i<m;i++) {for(int j=0;j<n;j++) {b[j]=a[j][i];}A:while(true) {for(int k=0;k<b.length;k++) {if(b[k]>max) {max=b[k];}}for(int s=0;s<b.length;s++) {if(max==0) {num=1;break A;}if(max==b[s]) {sum[s]+=get(num);num++;max=0;b[s]=0;continue A;}}}}for(int i=0;i<sum.length;i++) {System.out.printf(sum[i]+" ");}}public static int get(int i) {return Math.max(k+1-i, 0);}
}

J.编程题

问题描述

​ 给定 n 个整数 a[1], a[2], …, a[n],小蓝希望在中间选出一部分,满足以下两个条件:

​ 1、对于某个下标集合 S,选出的数中有至少 k 个下标在集合 S 中;

​ 2、选出的数按照原来的顺序排列,是严格单调上升的,即选出的是一个上升子序列。

​ 请问小蓝最多能选出多少个数。

输入格式

​ 输入的第一行包含两个整数 n, k,用一个空格分隔。

​ 第二行包含 n 个整数 a[1], a[2], …, a[n],相邻的整数间用空格分隔。

​ 第三行包含一个长度为 n 的01串,依次表示每个下标是否在集合 S 中,为 0 表示不在 S 中,为 1 表示在 S 中。

输出格式

​ 输出一行包含一个整数,表示答案。如果没有满足条件的选法,输出-1。

样例输入

8 2
8 1 2 3 9 4 7 10
10001010

样例输出

3

样例说明

由于 8、9、7 三个数中至少要选 2 个,只能选 8 和 9,剩下的数只能选最后一个数 10。

样例输入

8 3
8 1 2 3 9 4 7 10
10001010

样例输出

-1

评测用例规模与约定

​ 对于 30% 的评测用例,2 <= n <= 100,0 <= a[i] <= 100, 0 <= k <= 3。
​ 对于所有评测用例,2 <= n <= 1000,0 <= a[i] <= 100000, 0 <= k <= 20。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LuatOS-SOC接口文档(air780E)-- io - io操作(扩展)

示例 -- io模块是lua原生模块,LuatOS增加了一些API -- 请配合os模块一起使用-- 只读模式, 打开文件 local fd io.open("/xxx.txt", "rb") -- 读写默认,打开文件 local fd io.open("/xxx.txt", "wb") -- 写入文件,且截断为0字节 loc…

用Nginx搭建一个具备缓存功能的反向代理服务

在同一台服务器上&#xff0c;使用nginx提供服务&#xff0c;然后使用openresty提供反向代理服务。 参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx。 参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器&#xff0c;但是/nginx/conf/nginx.conf里…

Uniapp软件库源码 全新带勋章功能(包含前后端源码)

Uniapp软件库全新带勋章功能&#xff0c;搭建好后台 在前端找到 util 这个文件 把两个js文件上面的填上自己的域名&#xff0c; 电脑需要下载&#xff1a;HBuilderX 登录账号 没有账号就注册账号&#xff0c;然后上传文件&#xff0c;打包选择 “发行” 可以打包app h5等等。…

异常数据检测 | Python基于Hampel的离群点检测

文章目录 文章概述模型描述源码分享文章概述 在时间序列数据分析领域,识别和处理异常点是至关重要的任务。异常点或离群点是明显偏离预期模式的数据点,可能表明存在错误、欺诈或有价值的见解。 应对这一挑战的一种有效技术是汉普尔过滤器(Hampel Filter)。 模型描述 汉…

spark获取hadoop服务token

spark 作业一直卡在accepted 问题现象问题排查1.查看yarn app日志2.问题分析与原因 问题现象 通过yarn-cluster模式提交spark作业&#xff0c;客户端日志一直卡在submit app&#xff0c;没有运行 问题排查 1.查看yarn app日志 appid已生成&#xff0c;通过yarn查看app状态为…

Note——torch.size() umr_maximum() array.max() itertools.product()

torch.size Problem TypeError: ‘torch.Size’ object is not callable Reason Analysis torch.Size函数不可调用 因为torch只可以.size() 或 shape Solution 将y.shape()替换为y.size() 或 y.shape ytorch.normal(0,0.01,y.size())2 return umr_maximum(a, axis, None…

云原生之Docker

docker 初识Docker什么是DockerDocker与虚拟机Docker相关术语及架构镜像和容器DockerHubDocker架构 Docker命令镜像操作命令容器操作命令数据卷命令 自定义镜像镜像结构Dockerfile DockerCompose安装常用命令 初识Docker 什么是Docker docker是一个快速交付应用&#xff0c;运…

uniapp接入萤石微信小程序插件

萤石官方提供了一些适用于uniapp / 小程序的方案 如 小程序半屏 hls rtmp 等 都TM有坑 文档写的依托答辩 本文参考了uniapp小程序插件 以及 萤石微信小程序插件接入文档 效果如下 1. 插件申请 登录您的小程序微信公众平台&#xff0c;点击左侧菜单栏&#xff0c;进入设置页…

盒式交换机堆叠配置

目录 1.配置环形拓扑堆叠 2.设备组建堆叠 3.设备组件堆叠 堆叠 istack&#xff0c;是指将多台支持堆叠特性的交换机设备组合在一起&#xff0c;从逻辑上组合成一台交换设备。如图所示&#xff0c;SwitchA与 SwitchB 通过堆叠线缆连接后组成堆叠 istack&#xff0c;对于上游和…

java泛型场景补充

前言 本文不是对泛型的系统介绍&#xff0c;也不打算对其进行入门讲解&#xff0c;只是对遇到的一些泛型场景的补充。看过宋红康和韩顺平的javase课程可以花几分钟看看。 1.&符号在泛型中的使用&#xff0c;用来描述有边界的受约束泛型 class A{} interface B{} public …

百度地图API:JavaScript开源库几何运算判断点是否在多边形内(电子围栏)

百度地图JavaScript开源库&#xff0c;是一套基于百度地图API二次开发的开源的代码库。目前提供多个lib库&#xff0c;帮助开发者快速实现在地图上添加Marker、自定义信息窗口、标注相关开发、区域限制设置、几何运算、实时交通、检索与公交驾车查询、鼠标绘制工具等功能。 判…

网站批量替换关键词方法

注意替换操作之前先对文件做好备份 1.下载http://downinfo.myhostadmin.net/ultrareplace5.02.rar 解压出来,运行UltraReplace.exe 2.点击菜单栏中的配置&#xff0c;全选所有文件类型,或者根据自己的需求选择部分,如htm、html、php、asp等 3.若替换单个文件,点击文件,若是要…

html 按钮点击倒计时,限制不可点击

html 按钮点击倒计时&#xff0c;限制不可点击 e94cbabd25cfc7f3f53a50a235734c22.jpg <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title></title></head&…

飞速(FS)MTP®光纤跳线系列——数据中心布线理想选择

数据中心的重要定位要求其使用的光纤跳线具有高性能和高可靠性。飞速&#xff08;FS&#xff09;MTP光纤产品系列能够以简单的安装方式快速部署高密度链路&#xff0c;优化线缆管理&#xff0c;确保充分利用通道空间&#xff0c;显著减少安装时间和成本。 飞速&#xff08;FS&…

02_diffusion_models_from_scratch_CN

从零开始的扩散模型 有时&#xff0c;只考虑一些事务最简单的情况会有助于更好地理解其工作原理。我们将在本笔记本中尝试这一点&#xff0c;从“玩具”扩散模型开始&#xff0c;看看不同的部分是如何工作的&#xff0c;然后再检查它们与更复杂的实现有何不同。 我们将学习 …

Hadoop3教程(二十七):(生产调优篇)HDFS读写压测

文章目录 &#xff08;146&#xff09;HDFS压测环境准备&#xff08;147&#xff09;HDFS读写压测写压测读压测 参考文献 &#xff08;146&#xff09;HDFS压测环境准备 对开发人员来讲&#xff0c;压测这个技能很重要。 假设你刚搭建好一个集群&#xff0c;就可以直接投入生…

虹科活动 | 探索全新AR应用时代,虹科AR VIP研讨会广州场回顾!

文章来源&#xff1a;虹科数字化AR 阅读原文&#xff1a;https://mp.weixin.qq.com/s/7tmYR42Tw5XLn70fm8Nnew 主题演讲 本次研讨会&#xff0c;虹科特邀 “工业AR鼻祖” 美国Vuzix公司的首席应用工程师郑慎方先生进行主题演讲&#xff0c;并邀请到了各界的专业人士和企业代表参…

SystemVerilog Assertions应用指南 Chapter1.37 使用局部变量的SVA

在序列或者属性的内部可以局部定义变量,而且可以对这种变量进行赋值。变量接着子序列放置,用逗号隔开。如果子序列匹配,那么变量赋值语句执行。每次序列被尝试匹配时,会产生变量的一个新的备份。 module cubed(enable1, a, aa, clk);input logic [7:0] a; input logic enable1,…

学习JS闭包

作用域 作用域分为&#xff1a;全局作用域和函数作用域。链式作用域&#xff1a;子对象会一级一级往上查找父对象的变量。 什么是闭包&#xff1f; 闭包可以理解为定义在函数内部的函数,是由一个函数以及与其相关的引用环境组合而成的实体。可以在函数内部访问外部函数的变量&a…

uni-app开发

uni-app 官方手册&#xff1a;uni-app官网 一&#xff1a;tarBar&#xff1a;一级导航栏&#xff0c;即 tab 切换时显示对应页。 在pages.json文件里写入如下代码&#xff1a; 此效果&#xff1a;