备战蓝桥之搜索

2024.3.12

P2802 回家 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)


 

import java.awt.Checkbox;
import java.awt.PageAttributes.OriginType;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.math.MathContext;
import java.security.PublicKey;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;import javax.print.attribute.standard.JobMessageFromOperator;
public class Main {	public static void main(String[] args) throws NumberFormatException, IOException  {Scanner scanner=new Scanner(System.in);BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));PrintWriter pw1=new PrintWriter(System.out);String[] aStrings=br1.readLine().split(" ");
aa=Integer.parseInt(aStrings[0]);
bb=Integer.parseInt(aStrings[1]);
cc=new int[aa][bb];
visited=new int[aa][bb];
int a,b;
for(a=0;a<aa;a++) {String[] bStrings=br1.readLine().split(" ");for(b=0;b<bb;b++) {cc[a][b]=Integer.parseInt(bStrings[b]);}
}
for(a=0;a<aa;a++) {for(b=0;b<bb;b++) {if(cc[a][b]==2) {startx=a;starty=b;}if(cc[a][b]==3) {endx=a;endy=b;}}
}
ll1.add(new dian(startx, starty, 6, 0));
visited[startx][starty]=6;
while(ll1.size()!=0) {dian c1=ll1.remove();int x=c1.x;int y=c1.y;if(x==endx&&y==endy) {System.out.println(c1.juli);return;}int d;int juli=c1.juli;int blue=c1.blou;for(d=0;d<4;d++) {int x1=x+xx[d];int y1=y+yy[d];int blue2=blue;if(x1>=0&&x1<aa&&y1>=0&&y1<bb&&blue2>1&&(cc[x1][y1]==4||cc[x1][y1]==1||cc[x1][y1]==3)) {blue2=blue2-1;if(visited[x1][y1]<blue2) {if(cc[x1][y1]==4) {blue2=6;}visited[x1][y1]=blue2;ll1.add(new dian(x1, y1, blue2, juli+1));}}}
}
System.out.println("-1");}public static int aa,bb;public static int startx,starty;public static int endx,endy;public static int[][] visited;public static int[][] cc;public static int[] xx= {-1,1,0,0};public static int[] yy= {0,0,-1,1};public static LinkedList<dian> ll1=new LinkedList<>();}
class dian{int x;int y;int blou;int juli;public dian(int x, int y, int blou, int juli) {super();this.x = x;this.y = y;this.blou = blou;this.juli = juli;}}


package qq;import java.awt.Checkbox;
import java.awt.PageAttributes.OriginType;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.math.MathContext;
import java.security.PublicKey;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.PriorityQueue;
import java.util.Scanner;
import java.util.TreeMap;
import java.util.TreeSet;
public class main {	public static void main(String[] args) throws NumberFormatException, IOException  {Scanner scanner=new Scanner(System.in);BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));PrintWriter pw1=new PrintWriter(System.out);String[] aStrings=br1.readLine().split(" ");bb=Integer.parseInt(aStrings[0]);cc=Integer.parseInt(aStrings[1]);visited=new int[bb][cc];aa=new char[bb][cc];int a,b;for(a=0;a<bb;a++) {aa[a]=br1.readLine().toCharArray();}for(a=0;a<bb;a++) {for(b=0;b<cc;b++) {if(aa[a][b]=='s') {startx=a;starty=b;}if(aa[a][b]=='g') {endx=a;endy=b;}}}ll1.add(new dian(startx, starty));visited[startx][starty]=1;while(ll1.size()!=0) {dian c1=ll1.remove();int x=c1.x;int y=c1.y;int d;if(x==endx&&y==endy) {System.out.println("Yes");return;}for(d=0;d<4;d++) {int x1=x+xx[d];int y1=y+yy[d];if(x1>=0&&x1<bb&&y1>=0&&y1<cc&&visited[x1][y1]==0&&(aa[x1][y1]=='.'||aa[x1][y1]=='g')) {visited[x1][y1]=1;ll1.add(new dian(x1, y1));}}}System.out.println("No");}
public static LinkedList<dian> ll1=new LinkedList<>();
public static int[][] visited;
public static char[][] aa;
public static int[] xx= {-1,1,0,0};
public static int[] yy= {0,0,-1,1};
public static int bb,cc;
public static int startx,starty;
public static int endx,endy;
}
class dian{int x;int y;public dian(int x, int y) {super();this.x = x;this.y = y;}}

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

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

相关文章

k8s-生产级的k8s高可用(2) 25

部署containerd k8s2、k8s3、k8s4在配置前需要重置节点&#xff08;reset&#xff09;在上一章已完成 禁用所有节点docker和cri-docker服务 所有节点清除iptables规则 重置后全部节点重启 由于之前部署过docker&#xff0c;因此containerd默认已安装 修改配置 启动containe…

python学习、开发实用文档分享

今天给大家分享两个好用的关于python django框架使用的在线文档 Django中文在线文档: Django 文档 | Django 文档 | Django django rest framework 文档 1 - Serialization - Django REST framework中文站点 有开发和学习中遇到不会的, 或者需要学习的技能点直接去上面两个…

嵌入式工资为啥比纯软工资低那么多?

嵌入式工资为啥比纯软工资低那么多&#xff1f; 在开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些 电气工程师学习方法和资料&#xff0c;让我不断提升自己&…

并发支持库(3)-互斥

互斥可以对操作集合上锁&#xff0c;避免多个线程同时访问共享资源。这些操作集合可以看作是一次原子操作。 本文章的代码库&#xff1a; https://gitee.com/gamestorm577/CppStd 1. 互斥类 c提供了各种互斥类。 mutex 构造函数 默认构造函数构造一个处于未锁定状态的互…

短路逻辑运算--c语言

#include<stdio.h>int main() { int i1; i,i||i; printf("%d",i);//3return 0; } 再逻辑运算的原则一定优先于其他逻辑判断&#xff0c;再这个式子中||前面的结果已经为真存在逻辑短路的情况所以不用管后面的式子。 i&#xff0c;i自增两次i3&#xff0c;

爬虫技术之正则提取静态页面数据

第一天 简单示例 在爬虫过程中&#xff0c;我们获取到了页面之后&#xff0c;通常需要做的就是解析数据&#xff0c;将数据持久化到数据库为我所用。如何又快又准确得提取有效数据&#xff1f;这是一门技术&#xff0c;看了我的博客之前可能略有难度&#xff0c;但各位大师看…

redis源码分析

是什么 是基于内存(而不是磁盘)的kv(而不是关系型mysql那种)数据库&#xff0c;通过空间换时间 源码分析 跳表skiplist 假设你有个有序链表&#xff0c;你想看某个特定的值是否出现在这个链表中&#xff0c;那你是不是只能遍历一次链表才能知道&#xff0c;时间复杂度为O(n…

Postman环境变量全局变量设置(详解版)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在公司中&#xff0c;一般会存在开发环境、测试环境、线上环境等…

找不到mfc140u.dll怎么办?修复缺失mfc140u.dll的多种方案分享

mfc140u.dll文件是一个重要的动态链接库文件&#xff0c;它在Windows操作系统中发挥着关键的作用。由于各种原因&#xff0c;例如应用程序冲突或系统错误等&#xff0c;mfc140u.dll文件有时会出现丢失的情况。一旦发生这种问题&#xff0c;运行依赖此文件的应用程序将无法正常启…

力扣刷题日记——L724. 寻找数组的中心下标

1. 前言 今天是力扣刷题日记的第二天&#xff0c;今天依旧是一道简单题啊&#xff0c;慢慢来&#xff0c;先看看题目是什么吧。 2. 题目描述 给你一个整数数组 nums &#xff0c;请计算数组的 中心下标。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和…

JSP中间件漏洞

jsp的注入最难挖 另外3个好挖 struts2 url有action 就代表是struts2 用漏洞利用工具 下面之这两个一般都可以用工具扫一下 、 有些网站看起来没有 action实际上我们提交了 我们的账号和密码 之后就有了 工具包是下面 这些 github上面也有 用法就是如下图 把url放进去就…

数据库驱动和url连接示例

1.MySQL 配置示例&#xff1a;↓ driver_class:com.mysql.cj.jdbc.Driver url:jdbc:mysql://IP地址:端口号/数据库名?characterEncodingUTF-8&useSSLfalse&useUnicodetrue&serverTimezoneUTC 2.MySQL(使用information_schema查询表结构) 配置示例&#xff1a;↓…

关于数据预处理的重要性

主要是为了计算机能够准确的理解数据 以下是需要处理的数据&#xff1a; 1、缺失值 仅一部分实例有值的特性&#xff0c;以及没有任何特征值的实例都被视为缺失数据 一个特征丢失了超过5%~10%的值&#xff0c;被认为是缺失数据 缺失值实例应该被删除&#xff0c;避免引入偏…

【ST-学习链接】

ST-学习链接 ■ 江科大STM32学习笔记&#xff08;上下&#xff09;■ STM32 学习&#xff08;四&#xff09;中断系统 ■ 江科大STM32学习笔记&#xff08;上下&#xff09; 江科大STM32学习笔记&#xff08;上&#xff09; 江科大STM32学习笔记&#xff08;下 ■ STM32 学习…

整数和浮点数在内存中储存的形式

整数 整数的二进制表示法有三种&#xff0c;即原码、反码、补码。 三种表示方式均有符号位和数值位 符号位位于数值位最高位的那一位&#xff0c;分别用0和1表示&#xff0c;0表示正数&#xff0c;1表示负数。 数值位&#xff0c;除最高位的那一位外其他都是数值位。 正整数…

续篇:展开聊下 state 与 渲染树中位置的关系

&#x1f43e; 上篇的结尾处&#xff0c;提到了 > 为了提升性能&#xff0c; React 仅在渲染之间 存在差异 时才会更改 DOM 节点。 本篇&#xff0c;✓ &#x1f1e8;&#x1f1f3; 展开聊下 state 与 渲染树中位置的关系 &#x1f4e2;&#x1f4e2;&#x1f4e2; 状态与…

PAT 2024年春季(乙级)

补题链接&#xff1a;PAT 2024春&#xff08;乙级&#xff09; B-1 合成 2024 给定n和m&#xff0c;让我们判断能不能由n个不同的偶数和m个不同的奇数组成2024。 正难则反&#xff0c;我们考虑什么情况下不能组成2024。 先从奇偶性判断&#xff0c;n个偶数一定是偶数&#…

每日OJ题_哈希表②_力扣面试题 01.02. 判定是否互为字符重排

目录 力扣面试题 01.02. 判定是否互为字符重排 解析代码 力扣面试题 01.02. 判定是否互为字符重排 面试题 01.02. 判定是否互为字符重排 难度 简单 给定两个由小写字母组成的字符串 s1 和 s2&#xff0c;请编写一个程序&#xff0c;确定其中一个字符串的字符重新排列后&am…

量化交易平台之一:PyAlgoTrade

一、前言 PyAlgoTrade是一个Python的算法交易库&#xff0c;支持策略回测和实时交易&#xff0c;提供了丰富的统计和分析功能。github地址&#xff1a;GitHub - gbeced/pyalgotrade: Python Algorithmic Trading Library 二、使用 PyAlgoTrade是一个功能强大的Python量化交易平…

GIS瓦片3-WMTS瓦片

介绍 WMTS( Web Map Tile Service)切片地图Web服务&#xff08;OpenGIS Web Map Tile Service&#xff09;当前最新版本是1.0.0。WMTS标准定义了一些操作&#xff0c;这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。 WMTS提供了一种采用预定义图…