作为大四的老学长了,快毕业的时候才打算参加蓝桥杯。哈哈哈 以前都不敢报名,觉得很难。但是自从对算法的了解后,发现蓝桥杯的一些题目还是挺简单的,这里推荐大家在大一大二的时候报名最好。毕竟大四大家都忙着毕业找工作,没有时间参加比赛的。
接下来聊聊在刷题时遇到的问题。迷宫二问题,是本人在刷计蒜客时遇到的。当时是使用了dfs算法,但是发现总是超时,便去csdn搜索文章,但是发现大部分都是bfs解法,并且java得到解法很少,而且dfs的解法好像也是会超时。于是我就去看了点算法视频,发现了可以进行剪枝的问题。如下是我优化之后的算法,可以运行,不会超时。
import java.util.*;
class Main{
public static String[] mp = new String[11];
public static int[][] visit = new int[11][11];;
public static int n,m,min=20000;
public static int dx[] = {0,0,1,-1};
public static int dy[] = {1,-1,0,0};
public static void main(String [] args){
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();
m=scanner.nextInt();
for (int i = 0; i < n; i++) {