蓝桥杯练习题(十二)

📑前言

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

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页: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 stub
		read();
		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 stub
		Scanner 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
1

11000
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 stub
		Scanner 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);
			}
		}
	}
}

📑文章末尾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【蓝桥杯日记】复盘篇一:深入浅出顺序结构

&#x1f680;前言 本期是一篇关于顺序结构的题目的复盘,通过复盘基础知识&#xff0c;进而把基础知识学习牢固&#xff01;通过例题而进行复习基础知识。 &#x1f6a9;目录 前言 1.字符三角形 分析&#xff1a; 知识点&#xff1a; 代码如下 2. 字母转换 题目分析: 知…

加固密码安全:保护您的个人信息

一、引言 在数字化时代&#xff0c;密码安全是保护个人信息和数据的重要环节。然而&#xff0c;许多人在创建和管理密码时存在一些常见的安全漏洞&#xff0c;如使用弱密码、重复使用密码等。本文将详细介绍密码安全的重要性&#xff0c;并提供一些有效的方法和技巧&#xff0…

使用DALL-E 3模型模拟AI女友的一天 |【人人都是算法专家】

Rocky Ding 公众号&#xff1a;WeThinkIn 知乎&#xff1a;Rocky Ding 写在前面 【人人都是算法专家】栏目专注于分享AI行业中业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 我们都知道DALL-E 3是和Stable Diffusio…

Windows ssh登录eNSP交换机

目录 1. Cloud IO配置1.1 创建UDP端口1.2 创建本地连接1.3 端口映射设置 2. 交换机配置2.1 配置vlanif2.2 配置vty2.3 配置ssh用户2.4 配置aaa2.5 使用Xshell工具登录2.6 用户和密码2.7 登录成功 3. 使用cmd 登录报错提示3.1 手动指定加密算法&#xff0c;提示密码长度无效3.2 …

自定义注解与拦截器实现不规范sql拦截(拦截器实现篇)

最近考虑myBatis中sql语句使用规范的问题&#xff0c;如果漏下条件或者写一些不规范语句会对程序性能造成很大影响。最好的方法就是利用代码进行限制&#xff0c;通过拦截器进行sql格式的判断在自测环节就能找到问题。写了个简单情景下的demo&#xff0c;并通过idea插件来将myB…

Twisted Circuit洛谷绿题题解

Twisted Circuit 题面翻译 读入四个整数 0 0 0 或者 1 1 1&#xff0c;作为如图所示的电路图的输入。请输出按照电路图运算后的结果。 感谢PC_DOS 提供的翻译 题目描述 输入格式 The input consists of four lines, each line containing a single digit 0 or 1. 输出格…

编译和链接详解

文章目录 前言翻译环境和运行环境翻译环境和运行环境图解 翻译环境编译预处理&#xff08;预编译&#xff09;阶段编译汇编 链接 运行环境总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 在软件开发的世界中&#xff0c;编译和链接是构建程序的两个…

【GitHub项目推荐-开源的任务管理工具】【转载】

推荐一个开源的任务管理工具&#xff0c;该工具会提供各类文档协作功能、在线思维导图、在线流程图、项目管理、任务分发、即时 IM&#xff0c;文件管理等等。该开源项目使用到 Vue、Element-UI、ECharts 等技术栈。 开源地址&#xff1a;www.github.com/kuaifan/dootask 预览地…

5G_系统同步机制(八)

BBU和RRU的同步机制 为什么要做到系统同步 在TDD模式下工作时&#xff0c;为了避免相邻小区之间的干扰&#xff0c;近距离的所有gNB在任何时间点都必须具有相同的传输方向(DL或UL)。这样做的必要条件是在BTS之间同步SFN (System Frame number)和time Slot。此外&#xff0c;由…

meshgrid contour contourf

meshgrid contour contourf 参考video: https://www.bilibili.com/video/BV1qW411A775/?spm_id_from333.337.search-card.all.click&vd_sourced171c31a396363b8ea8c0e92a59cee6b 官方文档: https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.contourf.html#ma…

嵌入式-C语言-江科大-数据类型宏定义#define关键字typedef结构体

这是C语言中高级相关知识&#xff0c;在单片机中实战的一些用法 参考C语言江科大视频的学习笔记&#xff0c;详细举例子并且完整记录up的想法&#xff0c;包括内容有c语言数据类型&宏定义#define&关键字typedef&结构体&预处理指令 文章目录 一:C语言数据类型二…

idea 折叠某段代码 这段特定某段代码

如何折叠IntelliJ IDEA代码片段_w3cschool ctrlALTT

HNU-数据挖掘-作业1

数据挖掘课程作业作业1 计科210X 甘晴void 202108010XXX 第一题 假设所分析的数据包括属性 age,它在数据元组中的值&#xff08;以递增序&#xff09;为13 ,15 ,16 ,16 ,19 ,20 ,20 ,21 ,22 ,22 ,25 ,25 ,25 ,25 ,30 ,33 ,33 ,35 ,35 ,35 ,35 ,36 ,40 ,45 ,46 ,52,70。 a.…

从零开始的OpenGL光栅化渲染器构建5-阴影

前言 阴影是光线被阻挡的结果&#xff1b;当一个光源的光线由于其他物体的阻挡不能够达到一个物体的表面的时候&#xff0c;那么这个物体就在阴影中了。阴影能够使场景看起来真实得多&#xff0c;并且可以让观察者获得物体之间的空间位置关系。 直接阴影 阴影映射(Shadow Ma…

C语言/c++指针详细讲解【超详细】【由浅入深】

指针用法简单介绍 指针&#xff0c;是内存单元的编号。 内存条分好多好多小单元&#xff0c;一个小单元有 8 位&#xff0c;可以存放 8 个 0 或 1&#xff1b;也就是说&#xff0c;内存的编号不是以位算的&#xff0c;而是以字节算的&#xff0c;不是一个 0 或 1 是一个编号&…

【题目】2023年国赛信息安全管理与评估正式赛任务书-模块3 CTF

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 任务书 模块三 网络安全渗透、理论技能与职业素养 竞赛相关资源资料可在文末关注公众号获得 比赛时间及注意事项 本阶段比赛时长为180分钟&#xff0c;时间为9:00-12:00。 【注意事项】 &#xff08;1&#xf…

做一个简单的倒计时

<div>距离过年还有:<span></span></div><script>let div document.querySelector("div");let span document.querySelector("span");// 获取未来时间戳let future new Date("2024-2-10 00:00:00");// 获取当下…

深度解析Python关键字:掌握核心语法的基石(新版本35+4)

目录 关键字 keyword 关键字列表 kwlist softkwlist 关键字分类 数据类型 True、False None 运算类型 and、or、not in is 模块导入 import 辅助关键字 from、as 上下文管理 with 占位语句 pass 流程控制 if、elif、else for while break、continue…

Android学习之路(23)组件化框架ARouter的使用

一、功能介绍 支持直接解析标准URL进行跳转&#xff0c;并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器&#xff0c;自定义拦截顺序支持依赖注入&#xff0c;可单独作为依赖注入框架使用支持InstantRun支持MultiDex(Google方案)映射关系按组分类、多级管理&…

计组原理:系统概论与基本组成

系统概论与基本组成 系统概论硬件软件 计算机系统的层次结构系统复杂性的管理方法1&#xff1a;抽象 计算机的基本组成冯诺依曼计算机系统复杂性的管理方法 2&#xff1a;&#xff08;3’Y&#xff09; 计算机的工作步骤上机前的准备&#xff1a;计算机的解题过程存储器的基本组…