做分析图超牛的地图网站,漯河调整最新通告,深圳做网站电话,网页设计要学些什么#x1f4d1;前言
本文主要是【算法】——蓝桥杯练习题#xff08;十二#xff09;的文章#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ #x1f3ac;作者简介#xff1a;大家好#xff0c;我是听风与他#x1f947; ☁️博客首页#xff1a;CSDN主页听风与他…前言
本文主要是【算法】——蓝桥杯练习题十二的文章如果有什么需要改进的地方还请大佬指出⛺️ 作者简介大家好我是听风与他 ☁️博客首页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 n30;static int m50;static char[][] anew 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() {LinkedListnode 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 (xn-1ym-1) {shunxvstr1;break;}for(int i0;i4;i) {int x1xdir[i][0];int y1ydir[i][1];if(x10x1n-1y10y1m-1!visit[x1][y1]a[x1][y1]0) {q.add(new node(x1, y1, str1direct[i]));visit[x1][y1]true;}}}System.out.println(shunxv);}public static void read() {Scanner sc new Scanner(System.in);for(int i0;in;i) {String s sc.nextLine();for(int j0;jm;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 ans0;visit new boolean[n][n];for(int i0;in;i) {String s sc.nextLine();for(int j0;jn;j) {a[i][j]s.charAt(j);}}for(int i0;in;i) {for(int j0;jn;j) {if(a[i][j]#!visit[i][j]) {flag false;dfs(i, j);if (flagfalse) {ans;}}}}System.out.println(ans);}public static void dfs(int x,int y) {visit[x][y]true;if(a[x1][y]#a[x][y1]#a[x-1][y]#a[x][y-1]#) {flagtrue;}for(int i0;i4;i) {int x1xdir[i][0];int y1ydir[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 n4;static int m5;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 i0;in;i) {String ssc.nextLine();for(int j0;jm;j) {a[i][j]s.charAt(j);}}for(int i0;in;i) {for(int j0;jm;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(x0||y0||xn||ym||a[x][y]0) {return;}for(int i0;i4;i) {int x1 xdir[i][0];int y1 ydir[i][1];if (x10y10x1ny1ma[x1][y1]1!visit[x1][y1]) {dfs(x1, y1);}}}
}
文章末尾