第十五届蓝桥杯大赛软件赛省赛javaB组(蒟蒻赛时写的题

4个小时,下来感觉,迷迷糊糊的(感觉写的题和没写一样,要么暴力,要么写写if els,感觉没有什么体验感。前两个填空题都是签到,第二个填空写的暴力,感觉跑了5分钟左右,其实是可以前缀和优化的,第三个题就不会那个输入了,后面迷糊的有点忘了,用的学校机房的电脑(悲,用着不太习惯,到9点整才解除电脑控屏,到那时我才把那个idea,加载数据qwq..还要调式那个idea,

第一题:求20 24的倍数的第202420242024项是什么?

数学:其实就是除2乘24,

private static void solve()throws IOException {long n=24,m=101210121012L;pw.println(n*m);}

第二题:

题意不好读,其实题意大概是假设一个数字n其数位有k,用前k位累加就是当前的一位的数值,一开始的k位,是n这个数字按位拆开,赛时写的代码依托答辩,

import java.util.*;
import java.io.*;public class Main {static int N=(int)1e6+7;static int[] a;static int n,m,q,k;static List<Integer>[] g=new ArrayList[N];static boolean f(int n){int cnt=0,t=n;while(t>0){cnt++;t/=10;}int[] nums=new int[N];t=0;int m=n;while(m>0){t=t*10+m%10;m/=10;}for(int i=0;i<cnt;i++){nums[i]=t%10;t/=10;}for(int i=cnt;;i++){for(int j=i-1,c=cnt;c>0;c--,j--){nums[i]+=nums[j];}if(nums[i]==n)  {for(int j=0;j<=i;j++){pw.print(nums[j]+" ");}pw.println();return true;}if(nums[i]>n){return false;}}}private static void solve()throws IOException {int mx=(int)1e7;for(int i=mx;i>=0;i--){if(f(i)){pw.println(i);break;}}/*7 9 1 3 8 3 7 38 69 129 257 511 1014 2025 4043 8048 16027 31925 63593 126675 252336 502647 1001251 1994454 3972881 7913837
7913837*/}public static void main(String[] args)throws IOException {int T=1;for(int i=1;i<=T;i++){solve();}pw.flush();pw.close();}static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

第三题:

按题意模拟即可,不会输入的哭死,不太清楚下面的代码,输入有没有问题

//package A;import java.util.*;
import java.io.*;public class Main {static int N=(int)2e5+7,INF=0x3f3f3f3f;static int[] a;static int n,m,q,k;static List<Integer>[] g=new ArrayList[N];private static void solve()throws IOException {n=sc.nextInt();
//        pw.println(n);  pw.flush();a=new int[n];//        for(int i=0;i<11;i++)while(sc.hasNext()){String s=sc.next();if(s.equals("add")) {int k=sc.nextInt();a[0]++;}else if(s.equals("query")){int ans=a[0];for(int j=0;j<n;j++)   ans=Math.min(ans,a[j]);System.out.println(ans);}else if(s.equals("sync")) {int k=sc.nextInt();if(a[k]<a[0])   a[k]++;}}}/*
3
add 1
add 2
query
add 1
sync 1
sync 1
sync 2
query
sync 1
query
sync 2
sync 2
sync 1
query*/public static void main(String[] args)throws IOException {int T=1;for(int i=1;i<=T;i++){solve();}
//        pw.flush();
//        pw.close();}static Scanner sc=new Scanner(System.in);static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

第四题:

发现暴力不太会写,写的单次查询o1,但是写到后面感觉有太多情况了,这if else太吓人了,,,

直接草草收场,交了

//package A;import java.util.*;
import java.io.*;public class Main {static int N=(int)2e5+7,INF=0x3f3f3f3f;static int[] a;static int n,m,q,k;static List<Integer>[] g=new ArrayList[N];private static void solve()throws IOException {int n=nextInt();for(int i=0;i<n;i++){int c2=nextInt(),c3=nextInt(),c4=nextInt();int b4=nextInt(),b6=nextInt();int ans=0,k3=c3/2;  //三人凑6人桌if(b6>=k3){b6-=k3;c3-=k3*2;ans+=k3*6;}else{ans+=b6*6;c3-=2*b6;b6=0;}int mi=Math.min(c2,c4);if(b6>=mi){ //在考虑2 4人凑6人桌b6-=mi;c2-=mi;c4-=mi;ans+=6*mi;}else{c2-=b6;c4-=b6;ans+=b6*6;b6=0;}if(b4>=c4){ //4人,安排4人桌子ans+=c4*4;b4-=c4;c4=0;}else{ans+=b4*4;c4-=b4;b4=0;}int k2=c2/2;if(b4>=k2){ //二分凑 4卓b4-=k2;ans+=k2*4;c2-=2*k2;}else{ans+=b4*4;c2-=2*b4;b4=0;}if(b4>=c3){ans+=3*c3;b4-=c3;c3=0;}else{ans+=b4*3;c3-=b4;b4=0;}int k=b4*2+b6*3;ans+=Math.min(k,c2);pw.println(ans);}/*23 0 1 0 10 2 2 1 1610*/}public static void main(String[] args)throws IOException {int T=1;for(int i=1;i<=T;i++){solve();}pw.flush();pw.close();}static Scanner sc=new Scanner(System.in);static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

第五题:

直接看不懂中文了,瞎写的

第六题:

点的数量是1000,边的数量最多是5000,询问次数是5e4,对每一个询问,bfs求边数小于lim能到达的所有结点,时间复杂度是q(n+m)=5e4*6e3=3e8,好像差不多可以过,不可以过那么直接就是寄了

 ,最后用每一次询问可以到达的结点累加起来,再除一个n就是答案了

//package A;import java.util.*;
import java.io.*;public class Main {static int N=(int)1e3+7;static int[] a,d=new int[N],q=new int[N];static int n,m,q1,k;static List<Integer>[] g=new ArrayList[N];static boolean[] vis=new boolean[N];static int bfs(int start,int limit){for(int i=1;i<=n;i++)   d[i]=-1;int tt=-1,hh=0;q[++tt]=start;d[start]=0;while(tt>=hh){int x=q[hh++];//            pw.print(x+" ");for(int y:g[x]){if(d[y]==-1&&d[x]+1<=limit){q[++tt]=y;d[y]=d[x]+1;}}}
//        pw.println();return tt+1;}private static void solve()throws IOException {for(int i=0;i<N;i++)    g[i]=new ArrayList<>();n=nextInt(); m=nextInt(); q1=nextInt();for(int i=0;i<m;i++){int x=nextInt(),y=nextInt();g[x].add(y);g[y].add(x);}double ans=0;for(int i=0;i<q1;i++){int st=nextInt(),lim=nextInt();ans+=bfs(st,lim);}pw.printf("%.2f",ans/n);}/*3 2 31 22 32 12 01 1*/public static void main(String[] args)throws IOException {int T=1;for(int i=1;i<=T;i++){solve();}pw.flush();pw.close();}static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

第七题:

写的暴力+剪枝,对每一个字母枚举是否可以旋转,可能有两种或者4种情况,然后再对每一次旋转情况,做一边dfs,判断是否可以包含4个字母,感觉写dfs的话就是码农题了,不知道这个题可以不可以状态压缩dp,QAQ

//package A;import java.util.*;
import java.io.*;public class Main {static int N=57;static int[][] a=new int[N][N],b=new int[N][N];static int n,m,q1,k;static boolean[] vis=new boolean[N];static int[][] d1x=new int[4][];static int[][] d2x=new int[4][];static int[][] d3x=new int[4][];static int[][] d4x=new int[4][];static int[][] d1y=new int[4][];static int[][] d2y=new int[4][];static int[][] d3y=new int[4][];static int[][] d4y=new int[4][];static int[][] dx=new int[4][],dy=new int[4][];static boolean ok;static void dfs(int x,int y,int dep){if(dep==4||ok){ok=true;return;}if(y==n){x++;y=0;}if(x==n)    return;dfs(x,y+1,dep);if(a[x][y]==1){boolean flag=true;int k=4;if(dep==1||dep==3)   k=2;for(int i=0;i<k;i++){int bx=dx[dep][i]+x,by=dy[dep][i]+y;if(bx<0||by<0||bx>=n||by>=n||a[bx][by]!=1){flag=false;break;}}if(!flag)   return;for(int i=0;i<k;i++){   //改int bx=dx[dep][i]+x,by=dy[dep][i]+y;a[bx][by]=2;}dfs(x,y+1,dep+1);for(int i=0;i<k;i++){   //复原int bx=dx[dep][i]+x,by=dy[dep][i]+y;a[bx][by]=b[bx][by];}}}private static void solve()throws IOException {n=nextInt();for(int i=0;i<n;i++)for(int j=0;j<n;j++)   {a[i][j]=nextInt();b[i][j]=a[i][j];}for(int i1=0;i1<3;i1++)for(int i2=0;i2<2;i2++)for(int i3=0;i3<2;i3++)for(int i4=0;i4<3;i4++){dx[0]=d1x[i1];dx[1]=d2x[i2];dx[2]=d3x[i3];dx[3]=d4x[i4];dy[0]=d1y[i1];dy[1]=d2y[i2];dy[2]=d3y[i3];dy[3]=d4y[i4];for(int i=0;i<n;i++)for(int j=0;j<n;j++)a[i][j]=b[i][j];ok=false;dfs(0,0,0);if(ok){pw.println("Yes");return;}}pw.println("No");}/*
2
5
1 1 1 1 1
1 0 1 1 0
1 0 0 0 1
1 0 1 0 1
1 1 1 1 1
5
1 0 0 1 1
1 1 1 1 1
1 1 1 1 0
1 1 1 0 1
0 1 1 1 1*/public static void main(String[] args)throws IOException {//1d1x[0]=new int[]{0,1,2,2};d1y[0]=new int[]{0,0,0,1};d1x[1]=new int[]{0,0,0,1};d1y[1]=new int[]{0,1,2,0};d1x[2]=new int[]{0,0,1,2};d1y[2]=new int[]{0,1,1,1};d1x[3]=new int[]{0,1,1,1};d1y[3]=new int[]{0,0,-1,-2};//2d2x[0]=new int[]{0,1,2,3};d2y[0]=new int[]{0,0,0,0};d2x[1]=new int[]{0,0,0,0};d2y[1]=new int[]{0,1,2,3};//3d3x[0]=new int[]{0,0,0,1};d3y[0]=new int[]{0,1,2,1};d3x[1]=new int[]{0,1,2,1};d3y[1]=new int[]{0,0,0,-1};d3x[2]=new int[]{0,1,1,1};d3y[2]=new int[]{0,0,-1,1};d3x[3]=new int[]{0,1,2,1};d3y[3]=new int[]{0,0,0,1};//4d4x[0]=new int[]{0,0,1,1};d4y[0]=new int[]{0,1,0,-1};d4x[1]=new int[]{0,1,1,2};d4y[1]=new int[]{0,0,1,2};int T=nextInt();for(int i=1;i<=T;i++){solve();}pw.flush();pw.close();}static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

第八题:

写的O(n^2)暴力o.O,,其实可以分颜色暴力的,但是写完上面那个码农提,脑子拓机了

package A;import java.util.*;
import java.io.*;public class Main {static int N=(int)1e5+7,mod=(int)1e9;static int[] a=new int[N],b=new int[N],c=new int[N];static int n,m,q1,k;static List<Integer>[] g=new ArrayList[N];static void dfs(int x,int y){}private static void solve()throws IOException {n=nextInt();for(int i=0;i<n;i++){a[i]=nextInt();b[i]=nextInt();c[i]=nextInt();}long ans=0;for(int i=0;i<n;i++){for(int j=0;j<i;j++){if(c[i]==c[j])  continue;if(a[i]>b[j]&&b[i]<a[j]||(a[i]<b[j]&&b[i]>a[j]))    ans++;}}pw.println(ans%mod);}/*51 10 06 6 08 6 16 10 01 2 1*/public static void main(String[] args)throws IOException {int T=1;for(int i=1;i<=T;i++){solve();}pw.flush();pw.close();}static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));static StreamTokenizer st=new StreamTokenizer(br);static PrintWriter pw=new PrintWriter(new OutputStreamWriter(System.out));static int nextInt()throws IOException{st.nextToken();return (int)st.nval;}static int nextLong()throws IOException{st.nextToken();return (int)st.nval;}}

总结一下:java还是不会那个不确定个数的输入,赛时一直再调,不太习惯写java,当然主要原因还是因为菜(菜是原罪,思路跟不上手速,就写下这么多吧,等下要去看奥德曼打怪兽了(哥斯拉2,QWQ

预祝大家都是省一啊o.O,o.O,

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

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

相关文章

Linux字符设备驱动-详解与实操:驱动架构、设备树、Pinctrl子系统和GPIO子系统、platform、设备树下的platform

如何编写一个驱动程序&#xff1a; &#xff08;1&#xff09;确定主设备号 &#xff08;2&#xff09;定义自己的file_operations结构体&#xff1a; 包含对应的open(drv_open)/read(drv_read)等设备操作函数&#xff0c;需要到内核中去注册 &#xff08;3&#xff09;实现…

为什么需要自动化测试?自动化有哪些优势?

前言 自动化测试&#xff0c;最近些年可谓是大火。招聘上的要求也好&#xff0c;培训班的广告也罢&#xff0c;比比皆是&#xff0c;足以说明它在业内的火爆程度。 虽然说会写自动化测试并不能说明你就很牛批&#xff0c;但是你不会的话&#xff0c;那么很抱歉&#xff0c;你…

力扣每日一题-拆炸弹-2024.5.5

力扣题目&#xff1a;拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理&#xff0c;而k不等于0时&#xff0c;需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口&#xff0c;然后移动&#xff0c;获…

【Mac】 DSync for mac(文件比较同步工具) v2.7安装教程

软件介绍 DSync是一款文件比较同步工具&#xff0c;通过简便的三步即可完成繁琐的比较、同步操作&#xff0c;您甚至可以通过跳过、删除或反转您选择的文件的复制方向来微调您的同步。这是在Mac上同步文件的最简单方法。 安装教程 1.打开安装包&#xff0c;将「DSync」拖到右…

YUM源仓库部署和NFS共享存储服务

一.YUM源仓库部署 1.YUM 概述 &#xff08;1&#xff09;是基于RPM软件包构建的软件更新机制 &#xff08;2&#xff09;可以自动解决依赖关系 &#xff08;3&#xff09;所有软件包有集中的YUM软件仓库提供 2.准备YUM源 &#xff08;1&#xff09;软件仓库的提供方式&…

个人直播/流媒体服务解决方案实践

目录 1. 说明 1.1 拓扑结构图 2. 准备工作 2.1 软硬件清单 3. 步骤 3.1 按上面的软硬件清单准备好材料 3.2 内网检查测试 3.3 透传到公网服务器 3.5 机顶盒配置 4. 总结 5. 参考 6. 后语 1. 说明 - 在本地局域网建立流媒体服务&#xff0c;并发布到公网服务器供终…

【Unity 组件思想-预制体】

【Unity 组件思想-预制体】 预制体&#xff08;Prefab&#xff09;是Unity中一种特殊的组件 特点和用途&#xff1a; 重用性&#xff1a; 预制体允许开发者创建可重复使用的自定义游戏对象。这意味着你可以创建一个预制体&#xff0c;然后在场景中多次实例化它&#xff0c;…

轻松上手的LangChain学习说明书

一、Langchain是什么&#xff1f; 如今各类AI模型层出不穷&#xff0c;百花齐放&#xff0c;大佬们开发的速度永远遥遥领先于学习者的学习速度。。为了解放生产力&#xff0c;不让应用层开发人员受限于各语言模型的生产部署中…LangChain横空出世界。 Langchain可以说是现阶段…

快速了解Oracle 数据库 23ai

Oracle Database 23ai 于2024年5月2日正式发布。快速了解可以看官网主页和官方博客。 官网主页 23ai的3个要点&#xff0c;核心都是数据&#xff1a; 数据的人工智能 主要指数据库内置机器学习和AI向量搜索。这实际是Oracle融合数据库策略的延续&#xff0c;避免了复杂的数据…

SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少&#xff0c;本文是一篇个人理解关于spark状态编程。 官网关于状态编程代码例子: spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 apache/spark (github…

电商企业案例:金蝶云星空对接易仓

案例背景 某跨境电商公司&#xff0c;作为行业的新锐力量&#xff0c;业务覆盖全球数十个国家&#xff0c;产品线丰富多样。随着业务量的激增&#xff0c;原有的信息孤岛问题日益凸显&#xff0c;导致订单处理延迟、库存管理混乱、物流效率低下。尤其是发货单、销售退件单等跨…

代码随想录训练营31day-动态规划4

一、完全背包&#xff08;参考博客&#xff09; 和01背包区别在于物品可以无限次放入背包。完全背包和01背包问题唯一不同的地方就是&#xff0c;每种物品有无限件。 因此在需要在遍历顺序上进行区别&#xff0c;参考代码随想录&#xff1a; 二、518.零钱兑换II 题目求的是组…

尊享面试100(272.最接近的二叉树搜索值|| python)

刚开始想着用最小堆&#xff0c;把每个元素都加进去&#xff0c;然后找出最小的k个值&#xff0c;复杂度应该是&#xff08;nklogn) import heapq as pq class Solution:def __init__(self):self.h []pq.heapify(self.h)def closestKValues(self, root: Optional[TreeNode], …

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件&#xff0c;这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化&#xff0c;我们要构造符合输出flag条件的序列化数据。 但是&#xff0c;这里要注意的就是我们提…

Go 语言(四)【常用包使用】

1、命令行参数包 flag flag 包就是一个用来解析命令行参数的工具。 1.1、os.Args import ("fmt""os" )func main() {if len(os.Args) > 0 {for index, arg : range os.Args {fmt.Printf("args[%d]%v\n", index, arg)}} } 运行结果&#…

Pytorch基础:内置类type的用法

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在python中&#xff0c;一切数据类型都是对象&#xff08;即类的实例&#xff09;&#xff0c;包括整数、浮点数、字符串、列表、元组、集合、字典、复数、布尔、函数、…

ChatGPT的真实能力如何?七大NLP任务一探究竟!

文章链接&#xff1a;https://arxiv.org/pdf/2405.00704 ChatGPT已经改变了人工智能社区&#xff0c;一个活跃的研究方向是ChatGPT的性能评估。评估的一个关键挑战是ChatGPT仍然是闭源的&#xff0c;传统的基准数据集可能已被ChatGPT用作训练数据。在本文中: 调查了最近的研究…

MySQL-基础篇

MySQL基础篇 MySQL概述 MySQL安装与启动 配置MySQL环境变量 MySQL数据库 SQL DDL 数据库操作 表操作 表操作-修改 注意&#xff1a;在删除表时&#xff0c;表中的全部数据也会被删除。 datagrip DML DQL DQL-基本查询 在实际开发过程中&#xff0c;尽量不要写se…

利用matplotlib和networkx绘制有向图[显示边的权重]

使用Python中的matplotlib和networkx库来绘制一个有向图&#xff0c;并显示边的权重标签。 1. 定义了节点和边&#xff1a;节点是一个包含5个节点的列表&#xff0c;边是一个包含各个边以及它们的权重的列表。 2. 创建了一个有向图对象 G。 3. 向图中添加节点和边。 4. 设置了…

vue3中标签的ref属性

组合API-ref属性 在vue2.x中&#xff0c;可以通过给元素添加refxxx属性&#xff0c;然后在代码中通过this.$refs.xxx获取到对应的元素 然而在vue3中时没有$refs这个东西的&#xff0c;因此vue3中通过ref属性获取元素就不能按照vue2的方式来获取。 目标&#xff1a;掌握使用re…