蓝桥杯练习题(十二)

📑前言

本文主要是【算法】——蓝桥杯练习题(十二)的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

    • 📑前言
    • 602.迷宫
    • 178.全球变暖
    • 200.岛屿数量
    • 📑文章末尾

602.迷宫


import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;public class Main {static class node{int x;int y;String path;public node(int x,int y,String path) {this.x = x;this.y = y;this.path = path;}}static int n=30;static int m=50;static char[][] a=new char[n][m];static char[] direct = {'D','L','R','U'};static int dir[][] = {{1,0},{0,-1},{0,1},{-1,0}};static boolean visit[][]=new boolean[n][m];static String ans;public static void main(String[] args) {// TODO Auto-generated method stubread();bfs();}public static void bfs() {LinkedList<node> q = new LinkedList<>();q.add(new node(0, 0, ""));//把起点放入队列visit[0][0]=true;String shunxv="";//记录最短路径while(!q.isEmpty()) {node t = q.poll();int x = t.x;int y = t.y;String str1 = t.path;//判断是否走到终点if (x==n-1&&y==m-1) {shunxv=str1;break;}for(int i=0;i<4;i++) {int x1=x+dir[i][0];int y1=y+dir[i][1];if(x1>=0&&x1<=n-1&&y1>=0&&y1<=m-1&&!visit[x1][y1]&&a[x1][y1]=='0') {q.add(new node(x1, y1, str1+direct[i]));visit[x1][y1]=true;}}}System.out.println(shunxv);}public static void read() {Scanner sc = new Scanner(System.in);for(int i=0;i<n;i++) {String s = sc.nextLine();for(int j=0;j<m;j++) {a[i][j]=s.charAt(j);}}sc.close();}}

178.全球变暖

package 蓝桥杯第十二次;import java.util.Scanner;public class 全球变暖 {static boolean visit[][];static char a[][];static int n;static boolean flag;static int[][] dir= {{1,0},{0,1},{-1,0},{0,-1}};public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);n = Integer.valueOf(sc.nextLine());a = new char[n][n];int ans=0;visit = new boolean[n][n];for(int i=0;i<n;i++) {String s = sc.nextLine();for(int j=0;j<n;j++) {a[i][j]=s.charAt(j);}}for(int i=0;i<n;i++) {for(int j=0;j<n;j++) {if(a[i][j]=='#'&&!visit[i][j]) {flag = false;dfs(i, j);if (flag==false) {ans++;}}}}System.out.println(ans);}public static void dfs(int x,int y) {visit[x][y]=true;if(a[x+1][y]=='#'&&a[x][y+1]=='#'&&a[x-1][y]=='#'&&a[x][y-1]=='#') {flag=true;}for(int i=0;i<4;i++) {int x1=x+dir[i][0];int y1=y+dir[i][1];if(a[x1][y1]=='#'&&!visit[x1][y1]) {dfs(x1, y1);}}}
}

200.岛屿数量

package 蓝桥杯第十二次;import java.util.Scanner;public class 岛屿数量 {
/*
11110
11010
11000
00000
111000
11000
00000
00011
3*/static int n=4;static int m=5;static boolean visit[][]=new boolean[n][m];static char a[][] = new char[4][5];static int dir[][]= {{1,0},{0,1},{-1,0},{0,-1}};public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);int ans = 0;for(int i=0;i<n;i++) {String s=sc.nextLine();for(int j=0;j<m;j++) {a[i][j]=s.charAt(j);}}for(int i=0;i<n;i++) {for(int j=0;j<m;j++) {if(a[i][j]=='1'&&!visit[i][j]) {dfs(i, j);ans++;}}}System.out.println(ans);}public static void dfs(int x,int y) {visit[x][y]=true;if(x<0||y<0||x>=n||y>=m||a[x][y]=='0') {return;}for(int i=0;i<4;i++) {int x1 = x+dir[i][0];int y1 = y+dir[i][1];if (x1>=0&&y1>=0&&x1<n&&y1<m&&a[x1][y1]=='1'&&!visit[x1][y1]) {dfs(x1, y1);}}}
}

📑文章末尾

在这里插入图片描述

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

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

相关文章

黑马程序员-瑞吉外卖-day4

实现账号的启动禁止 EmployeeController PutMappingpublic R<String> update(RequestBody Employee employee){employeeService.updateById(employee);return R.success("员工信息修改成功");} 出错 解决 common目录下 引入JacksonObjectMapper package com…

AI绘画Stable Diffusion进阶使用

本文讲解&#xff0c;模型底模&#xff0c;VAE美化模型&#xff0c;Lora模型&#xff0c;hypernetwork。 文本Stable Diffusion 简称sd 欢迎关注 使用模型 C站&#xff1a;https://civitai.com/ huggingface&#xff1a;https://huggingface.co/models?pipeline_tagtext-to-…

怎么移除WordPress后台工具栏的查看站点子菜单?如何改为一级菜单?

默认情况下&#xff0c;我们在WordPress后台想要访问前端网站&#xff0c;需要将鼠标移动到左上角的站点名称&#xff0c;然后点击下拉菜单中的“查看站点”才行&#xff0c;而且还不是新窗口打开。那么有没有办法将这个“查看站点”子菜单变成一级菜单并显示在顶部管理工具栏中…

Vulnhub靶机:FunBox 2

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;FunBox 2&#xff08;10.0.2.27&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://download.vulnhub.com/funbo…

基于Servlet建立表白墙网站

目录 一、设计思想 二、设计表白墙页面&#xff08;前端--VSCode&#xff09; 1、效果图 2、html部分&#xff08;网页上有哪些内容&#xff09; 3、css部分&#xff08;页面内容的具体样式&#xff09; 4、js部分&#xff08;页面行为&#xff09; 三、借助Servlet实现客…

TCP服务器最多支持多少客户端连接

目录 一、理论数值 二、实际部署 参考 一、理论数值 首先知道一个基础概念&#xff0c;对于一个 TCP 连接可以使用四元组&#xff08;src_ip, src_port, dst_ip, dst_port&#xff09;进行唯一标识。因为服务端 IP 和 Port 是固定的&#xff08;如下图中的bind阶段&#xff0…

Python(18)--文件输入/输出 Ⅱ

​ 大家好&#xff01;我是码银&#x1f970; 欢迎关注&#x1f970;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 前言 前一篇文章&#xff08;python(17)–文件的输入/输出-CSDN博客&#xff09;介绍了如何操作文本文件和二进制文件&#xff0c;以及对应…

WorkPlus:构建高效协作的企业即时通讯解决方案

在现代企业中&#xff0c;高效沟通是实现协作和改善工作效率的关键。而企业即时通讯工具成为了推进沟通的利器。作为一款高质量的企业即时通讯解决方案&#xff0c;WorkPlus以其卓越的性能和独特的功能&#xff0c;助力企业构建高效协作的新格局。 为什么选择WorkPlus作为企业即…

gin中间件篇

1. 全局中间件 所有请求都经过此中间件 package mainimport ("fmt""time""github.com/gin-gonic/gin" )// 定义中间 func MiddleWare() gin.HandlerFunc {return func(c *gin.Context) {t : time.Now()fmt.Println("中间件开始执行了&quo…

数据结构【DS】Ch8 排序

文章目录 插入排序选择排序归并&基数外部排序 插入排序 交换排序 选择排序 归并&基数 外部排序

Macos数据库管理软件:Navicat Premium for Mac 16.3.5中文版

Navicat Premium 16 for Mac是一款强大的数据库管理和开发工具&#xff0c;支持多种数据库系统&#xff0c;如MySQL、Oracle、SQL Server等。它提供了直观的用户界面和丰富的功能&#xff0c;使用户能够轻松地创建、管理和维护数据库。 软件下载&#xff1a;Navicat Premium fo…

NLP论文阅读记录 - 2022 | WOS 04.基于 XAI 的强化学习方法,用于社交物联网内容的文本摘要

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 XAI-Base…

GPT应用_AutoGPT

项目地址&#xff1a;https://github.com/Significant-Gravitas/AutoGPT 1 功能 1.1 整体功能&#xff0c;想解决什么问题 单独使用 ChatGPT 时&#xff0c;只提供基本的聊天&#xff0c;无法实现复杂多步的功能&#xff0c;以及与其它应用交互&#xff0c;如果想提供某种功…

AWVS/Acunetix Premium v24.1.24高级版漏洞扫描器

Acunetix Premium 是一种 Web 应用程序安全解决方案&#xff0c;用于管理多个网站、Web 应用程序和 API 的安全。集成功能允许您自动化 DevOps 和问题管理基础架构。 Acunetix Premium&#xff1a;全面的 Web 应用程序安全解决方案 Web 应用程序对于企业和组织与客户、合作伙…

【PICO】【VRTK】PICO项目后打包后在头盔中运行时不追踪

【背景】 PICO项目打包后可以在头盔中运行&#xff0c;但是画面是贴脸移动的&#xff0c;无法发生有效的空间追踪。 【解决办法】 我的Unity版本是2021.3.30LTS&#xff0c;ProjectSettings中的NetFramework默认是2.1。改到NetFramework后再打包就正常了。

树莓派4B 刷ubuntu20.4.5配置 网线连接 找不到IP解决

跟随的教程&#xff1a; 【树莓派教程第一课 树莓派简介 十分钟玩转系列入门篇】 https://www.bilibili.com/video/BV16U4y1879Q/?p6&share_sourcecopy_web&vd_sourceb96879a51029063390138a2b464a7446 遇到的问题&#xff1a; 在我刷好ubuntu到系统卡并在根目录创建…

数学建模实战Matlab绘图

二维曲线、散点图 绘图命令&#xff1a;plot(x,y,’line specifiers’,’PropertyName’,PropertyValue) 例子&#xff1a;绘图表示年收入与年份的关系 ‘--r*’:--设置线型&#xff1b;r:设置颜色为红色&#xff1b;*节点型号 ‘linewidth’&#xff1a;设置线宽&#xff1…

【代码编辑器】VS Code安装下载教程及后续基本配置(一)[小白看这一篇足够了,手把手教会]

前言 Visual Studio Code&#xff08;简称“VS Code” &#xff09;是Microsoft在2015年4月30日[Build]开发者大会上正式宣布一个运行于 [Mac OS X]、[Windows]和[ Linux]之上的&#xff0c;针对于编写现代[Web]和[云应用]的跨平台[源代码编辑器],可在桌面上运行&#xff0c;并…

5G基站节能及数字化管理解决方案

截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5G基站的能耗成为…

JVM工作原理与实战(二十二):方法区的垃圾回收

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、Java的内存管理和自动垃圾回收 二、方法区的垃圾回收 1.回收条件 2.手动触发垃圾回收 3.方法区的垃圾回收案例 总结 前言 JVM作为Java程序的运行环境&#xff0c;其负责解释和…