蓝桥杯(3.10)

1219. 移动距离

import java.util.Scanner;
public class Main{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int w = sc.nextInt();int m = sc.nextInt();int n = sc.nextInt();m--;n--;//由从1开始变为从0开始//求行号int x1 = m/w, x2 = n/w;//求列号int y1 = m%w, y2 = n%w;if(x1%2 != 0) y1 = w-y1-1;if(x2%2 != 0) y2 = w-y2-1;System.out.println(Math.abs(x1-x2)+Math.abs(y1-y2));//曼哈顿距离}
}

1229. 日期问题

import java.util.Scanner;public class Main{static int[] days = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] s = sc.nextLine().split("/");for(int i=19600101;i<=20591231;i++) {int year = i/10000;int year2 = year%100;int month = i/100 %100;int day = i%100;int s1 = Integer.parseInt(s[0]);int s2 = Integer.parseInt(s[1]);int s3 = Integer.parseInt(s[2]);if((year%100!=0 && year%4 == 0)||(year%400 == 0))days[2] = 29;elsedays[2] = 28;//注意boolean f1 = false;boolean f2 = false;boolean f3 = false;//日月相等或者月日相等if(s1 == s2 && s2 == s3){//12/12/12f1 = true;}else if(s1 == s2){12/12/06f1 = true;f2 = true;}else if(s1 == s3){//12/06/12f1 = true;f3 = true;}else{//06/07/12f1 = true;f2 = true;f3 = true;}//没有s2 == s3 这种的样例//年月日if(f1){if(year2 == s1&&month == s2&&day == s3) {if((month>=1 && month<=12) && (day>=1 && day<=days[month]))System.out.printf("%d-%02d-%02d\n",year,month,day);}}//日月年if(f2){if(day == s1&&month == s2&&year2 == s3) {if((month>=1 && month<=12) && (day>=1 && day<=days[month]))System.out.printf("%d-%02d-%02d\n",year,month,day);}			}//月日年if(f3){if(month == s1&&day == s2&&year2 == s3) {if((month>=1 && month<=12) && (day>=1 && day<=days[month]))System.out.printf("%d-%02d-%02d\n",year,month,day);}			}}}
}

if合并

import java.util.Scanner;public class Main{static int[] days = new int[]{0,31,28,31,30,31,30,31,31,30,31,30,31};public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] s = sc.nextLine().split("/");for(int i=19600101;i<=20591231;i++) {int year = i/10000;int year2 = year%100;int month = i/100 %100;int day = i%100;int s1 = Integer.parseInt(s[0]);int s2 = Integer.parseInt(s[1]);int s3 = Integer.parseInt(s[2]);if((year%100!=0 && year%4 == 0)||(year%400 == 0))days[2] = 29;elsedays[2] = 28;//注意if(year2 == s1&&month == s2&&day == s3||day == s1&&month == s2&&year2 == s3||month == s1&&day == s2&&year2 == s3) {if((month>=1 && month<=12) && (day>=1 && day<=days[month]))System.out.printf("%d-%02d-%02d\n",year,month,day);}}}
}

1101. 献给阿尔吉侬的花束

import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;public class Main{static int r;static int c;static final int N = 210;static char[][] g = new char[N][N];static int[][] dis = new int[N][N];static int[] dx = {1,-1,0,0};static int[] dy = {0,0,1,-1};public static int bfs(PII start,PII end) {Deque<PII> dq = new LinkedList<>();for(int i=0;i<r;i++)for(int j=0;j<c;j++)dis[i][j] = -1;dis[start.x][start.y] = 0;dq.addLast(start);while(!dq.isEmpty()) {PII t = dq.pollFirst();//取出队头元素并且删除for(int i=0;i<4;i++) {int x = t.x+dx[i],y = t.y+dy[i];if(x<0 || x>(r-1) || y<0 || y>(c-1)) continue;if(g[x][y] == '#')	continue;if(dis[x][y] != -1)	continue;dis[x][y] = dis[t.x][t.y] + 1;if(end.x == x && end.y == y)return dis[x][y];dq.addLast(new PII(x,y));}}return -1;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int t = sc.nextInt();sc.nextLine();while(t-- != 0) {r = sc.nextInt();c = sc.nextInt();sc.nextLine();for(int i=0;i<r;i++)g[i] = sc.nextLine().toCharArray();PII start = null,end = null;for(int i=0;i<r;i++) {for(int j=0;j<c;j++) {if(g[i][j] == 'S')start = new PII(i,j);if(g[i][j] == 'E')end = new PII(i,j);}}int distance = bfs(start,end);if(distance == -1)	System.out.println("oop!");else System.out.println(distance);}}
}class PII{int x;int y;public PII(int x,int y) {this.x = x;this.y = y;}
}
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;public class Main{static int r;static int c;static final int N = 210;static char[][] g = new char[N][N];static int[][] dis = new int[N][N];static int[] dx = {1,-1,0,0};static int[] dy = {0,0,1,-1};public static int bfs(int[] start,int[] end) {Deque<int[]> dq = new LinkedList<>();for(int i=0;i<r;i++)for(int j=0;j<c;j++)dis[i][j] = -1;dis[start[0]][start[1]] = 0;dq.addLast(start);while(!dq.isEmpty()) {int[] t = dq.pollFirst();//取出队头元素并且删除for(int i=0;i<4;i++) {int x = t[0]+dx[i],y = t[1]+dy[i];if(x<0 || x>(r-1) || y<0 || y>(c-1)) continue;if(g[x][y] == '#')	continue;if(dis[x][y] != -1)	continue;dis[x][y] = dis[t[0]][t[1]] + 1;if(end[0] == x && end[1] == y)return dis[x][y];dq.addLast(new int[]{x,y});}}return -1;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);int t = sc.nextInt();sc.nextLine();//while(t-- != 0) {r = sc.nextInt();c = sc.nextInt();sc.nextLine();//for(int i=0;i<r;i++)g[i] = sc.nextLine().toCharArray();int[] start = new int[2];int[] end = new int[2];for(int i=0;i<r;i++) {for(int j=0;j<c;j++) {if(g[i][j] == 'S')start = new int[]{i,j};if(g[i][j] == 'E')end = new int[]{i,j};}}int distance = bfs(start,end);if(distance == -1)	System.out.println("oop!");else System.out.println(distance);}}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Deque;
import java.util.LinkedList;public class Main{static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));static PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));static final int N = 210;static int r;static int c;static int[][] dis = new int[N][N];static char[][] ch = new char[N][N];public static int bfs(int[] start,int[] end) {Deque<int[]> dq = new LinkedList<>();for(int i=0;i<r;i++)for(int j=0;j<c;j++)dis[i][j] = -1;dis[start[0]][start[1]] = 0;dq.addLast(start);int[] dx = {1,-1,0,0};int[] dy = {0,0,1,-1};while(!dq.isEmpty()) {int[] t = dq.pollFirst();for(int i=0;i<4;i++) {int x = t[0] + dx[i];int y = t[1] + dy[i];if(x<0 || x>r-1 || y<0 || y > c-1)continue;if(ch[x][y] == '#')continue;if(dis[x][y] != -1)continue;dis[x][y] = dis[t[0]][t[1]]+1;if(end[0] == x && end[1] == y)return dis[x][y];dq.addLast(new int[]{x,y});}}return -1;}public static void main(String[] args) throws IOException{int n = Integer.parseInt(br.readLine());//测试数据组数while(n-- != 0) {String[] s = br.readLine().split(" ");r = Integer.parseInt(s[0]);c = Integer.parseInt(s[1]);for(int i=0;i<r;i++)ch[i] = br.readLine().toCharArray();int[] start = new int[2];int[] end = new int[2];for(int i=0;i<r;i++)for(int j=0;j<c;j++) {if(ch[i][j] == 'S')start = new int[] {i,j};if(ch[i][j] == 'E')end = new int[] {i,j};							}int distance = bfs(start,end);if(distance == -1)	System.out.println("oop!");elseSystem.out.println(distance);}}
}

1224. 交换瓶子

import java.util.*;
public class Main{static final int N = 10010;static int[] a = new int[N];static boolean[] b = new boolean[N];public static void main(String[] args){Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int i=1;i<=n;i++)a[i] = sc.nextInt();int sum = 0;for(int i=1;i<=n;i++){if(!b[i]){sum++;for(int j=i;!b[j];j = a[j])b[j] = true;}}System.out.println(n - sum);}
}

1240. 完全二叉树的权值

import java.util.Scanner;
public class Main{static final int N = 100010;public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] res = new int[N];for(int i=1;i<=n;i++)res[i] = sc.nextInt();long max = Long.MIN_VALUE;int dp = 0;for(int i=1,d=1;i<=n;d++,i*=2) {//i表示每一层的第一个位置//d表示层数long sum = 0;//for(int j=i;j<(i+(1<<d-1)) && j<=n;j++)//完全二叉树最后一层可能不满所以要j<=nsum+=res[j];if(sum>max) {max = sum;dp = d;}}System.out.println(dp);}
}

1096. 地牢大师

import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;public class Main{static int l;static int r;static int c;static final int N = 110;static char[][][] ch = new char[N][N][N];static int[][][] dis = new int[N][N][N];static int[] dx = {1,-1,0,0,0,0};static int[] dy = {0,0,1,-1,0,0};static int[] dz = {0,0,0,0,1,-1};public static int bfs(int[] start,int[] end) {Deque<int[]> dq = new LinkedList<>();for(int i=0;i<l;i++)for(int j=0;j<r;j++)for(int k=0;k<c;k++) {dis[i][j][k] = -1;}dis[start[0]][start[1]][start[2]] = 0;dq.addLast(start);while(!dq.isEmpty()) {int[] t = dq.pollFirst();for(int i=0;i<6;i++) {int x = t[0]+dx[i];int y = t[1]+dy[i];int z = t[2]+dz[i];if(x<0 || x>l-1 || y<0 || y>r-1 || z<0 || z>c-1)continue;if(ch[x][y][z] == '#')continue;if(dis[x][y][z] != -1)continue;dis[x][y][z] = dis[t[0]][t[1]][t[2]] + 1;if(end[0] == x && end[1] == y && end[2] == z)return dis[x][y][z];dq.addLast(new int[] {x,y,z});}}return -1;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);while(sc.hasNext()) {l = sc.nextInt();r = sc.nextInt();c = sc.nextInt();if(l == 0 && r == 0 && c == 0)return ;int[] start = new int[3];int[] end = new int[3];for(int i = 0;i < l;i ++){for(int j = 0;j < r;j ++){char[] charArray = sc.next().toCharArray();for(int k = 0;k < c;k ++){ch[i][j][k] = charArray[k];if(ch[i][j][k] == 'S') start = new int[] {i,j,k};if(ch[i][j][k] == 'E') end = new int[] {i,j,k};}}}int distance = bfs(start,end);if(distance == -1)System.out.println("Trapped!");elseSystem.out.printf("Escaped in %d minute(s).\n",distance);}}
}

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

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

相关文章

数据结构与算法第三套试卷小题

1.删除链表节点 **分析&#xff1a;**首先用指针变量q指向结点A的后继结点B&#xff0c;然后将结点B的值复制到结点A中&#xff0c;最后删除结点B。 2.时间复杂度的计算 **分析&#xff1a;**当涉及嵌套循环的时候&#xff0c;我们可以直接分析内层循环即可&#xff0c;看内…

2024年春招,如何做一份高水平的简历?(附个人简历模板)

抓对这几个重点,你想不通过简历面都难! HR想看到什么?雇主想看到什么?你未来的Leader想看到什么? 1. 简历模板:第一印象至关重要 专业与个性并存:选择一个既专业又有个性的模板。例如,如果你是一名工程师,可以选择一个简洁、有技术感的模板;如果是艺术行业,可以选…

Docker 的资源控制

目录 Docker 的资源控制为什么需要资源控制&#xff1f;控制内存使用限制 CPU 使用磁盘 I/O 控制网络带宽限制实践建议 Docker 资源控制&#xff1a;保障性能与稳定性Docker资源控制概览内存限制CPU限制磁盘 I/O 控制网络带宽管理实际应用 Docker 启动后的 更新资源管理 Docker…

面试官:线程调用2次start会怎样?我支支吾吾没答上来

写在开头 在写完上一篇文章《Java面试必考题之线程的生命周期&#xff0c;结合源码&#xff0c;透彻讲解!》后&#xff0c;本以为这个小知识点就总结完了。 但刚刚吃晚饭时&#xff0c;突然想到了多年前自己面试时的亲身经历&#xff0c;决定再回来补充一个小知识点&#xff…

Dgraph 入门教程三《linux本地部署》

上一章中&#xff0c;我们用的官方的Clound操作的&#xff0c;怎么在本地部署一套Dgraph呢。这一章将做详细介绍。安装有好几种方式&#xff0c;最简单的就是联网部署。因为项目需要&#xff0c;这里先不介绍和测试线上部署了&#xff0c;只介绍离线部署。 1、下载安装包 Rel…

理论学习:nn.CrossEntropyLoss

该标准计算输入 logits 和目标之间的交叉熵损失。 代码实战 该损失函数结合了nn.LogSoftmax()和nn.NLLLoss()两个函数。它在做分类&#xff08;具体几类&#xff09;训练的时候是非常有用的。在训练过程中&#xff0c;对于每个类分配权值&#xff0c;可选的参数权值应该是一个…

cdn和oss有什么区别

CDN&#xff08;内容分发网络&#xff09;和OSS&#xff08;对象存储服务&#xff09;是两种常见的互联网技术&#xff0c;它们在内容存储和分发方面有着不同的功能和特点。 CDN&#xff1a;加速网络内容分发 CDN通过部署在全球各地的节点服务器&#xff0c;将静态内容缓存到离…

langchain入门

1、langchain的2个能力 可以将 LLM 模型与外部数据源进行连接允许与 LLM 模型进行交互 2、基础功能 LLM 调用 支持多种模型接口&#xff0c;比如 OpenAI、Hugging Face、AzureOpenAI ...Fake LLM&#xff0c;用于测试缓存的支持&#xff0c;比如 in-mem&#xff08;内存&am…

开源是什么?——跟老吕学Python编程

开源是什么&#xff1f;——跟老吕学Python编程 开源是什么&#xff1f;开放源代码软件是什么&#xff1f;开源软件许可证是什么&#xff1f;开放源代码软件是什么&#xff1f;开放源代码的软件代表有什么&#xff1f;开放源代码软件与自由软件的概念 开源的定义是什么&#xf…

JavaScript基础6之执行上下文、作用域链、函数创建、函数激活、checkScope的执行过程、闭包、this

JavaScript基础 执行上下文执行上下文中的属性变量对象全局上下文的变量对象函数上下文执行过程进入执行上下文代码执行思考题 作用域链函数创建函数激活checkScope的执行过程总结 闭包分析闭包 this 执行上下文 执行上下文中的属性 每一个执行上下文都有三个核心属性 变量对…

职场逆袭!如何打造‘黄金简历’

现在的职场&#xff0c;无论是哪个行业都特别卷&#xff0c;想要找到一份满意&#xff0c;不仅要求你要拥有丰富的工作经验&#xff0c;而且还要求你的简历足够精彩&#xff0c;这样才能在一众求职者中脱颖而出&#xff01; 一、希赛老师在线指导 之前&#xff0c;小赛分享了…

c#WPF绑定

在 C# WPF 中&#xff0c;绑定是一种将 UI 元素&#xff08;如文本框、列表框等&#xff09;与数据源&#xff08;如对象、集合等&#xff09;关联起来的技术。通过绑定&#xff0c;可以在 UI 元素上显示和更新数据源中的数据&#xff0c;实现数据的双向同步。 下面是一个简单的…

CTP-API开发系列之四:接口对接准备

CTP-API开发系列之四&#xff1a;接口对接准备 CTP-API开发系列之四&#xff1a;接口对接准备CTP-API文件清单CTP-API通用规则命名规则Spi与Api CTP-API通讯模式开发语言选择 CTP-API开发系列之四&#xff1a;接口对接准备 CTP-API文件清单 文件名说明ThostFtdcTraderApi.h交…

mysql安装目录

方法一 输入如下sql命令 SELECT datadir;方法二 点击

docker-swarm集群管理命令

为什么选择swarm集群&#xff1f; 灵魂疑问&#xff1a;同样是集群&#xff0c;为什么选择docker swarm&#xff0c;而不不选择k8s或者k3s&#xff1f; 我的需求场景&#xff1a;不想直接用docker或者java -jar直接跑&#xff0c;修改前是使用java -jar方式&#xff0c;这两种…

Redis冲冲冲——Redis持久化方式及其区别

目录 引出Redis持久化方式Redis入门1.Redis是什么&#xff1f;2.Redis里面存Java对象 Redis进阶1.雪崩/ 击穿 / 穿透2.Redis高可用-主从哨兵3.持久化RDB和AOF4.Redis未授权访问漏洞5.Redis里面安装BloomFilte Redis的应用1.验证码2.Redis高并发抢购3.缓存预热用户注册验证码4.R…

代码背后的女性:突破性别壁垒的技术先驱

个人主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《程序人生》 引言 在计算机科学的历史长河中&#xff0c;有许多杰出的女性为这个领域的发展做出了重要贡献。她们不仅在技术上取得了卓越成就&#xff0c;还打破了性别壁垒&#xff0c;为后来的女性树立了榜样。今…

力扣爆刷第91天之hot100五连刷41-45

力扣爆刷第91天之hot100五连刷41-45 文章目录 力扣爆刷第91天之hot100五连刷41-45一、102. 二叉树的层序遍历二、108. 将有序数组转换为二叉搜索树三、98. 验证二叉搜索树四、230. 二叉搜索树中第K小的元素五、199. 二叉树的右视图 一、102. 二叉树的层序遍历 题目链接&#x…

【算法】Hash存储——开放寻址法

模拟散列表 维护一个集合&#xff0c;支持如下几种操作&#xff1a; I x&#xff0c;插入一个整数 x&#xff1b; Q x&#xff0c;询问整数 x是否在集合中出现过&#xff1b; 现在要进行 N次操作&#xff0c;对于每个询问操作输出对应的结果。 输入格式 第一行包含整数 N&am…

查询IP地址保障电商平台安全

随着电子商务的快速发展&#xff0c;网购已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;网络交易安全一直是人们关注的焦点之一&#xff0c;尤其是在面对日益频发的网络诈骗和欺诈行为时。为了提高网购平台交易的安全性&#xff0c;一种有效的方法是通过查询IP地址…