迷宫问题简介:
代码实现
public class Maze {
public static void main(String[] args) {
int[][] migong = new int[8][7];
for (int i = 0; i < 7; i++) {
migong[0][i] = 1;
migong[7][i] = 1;
}
for (int i = 0; i < migong.length; i++) {
migong[i][0] = 1;
migong[i][6] = 1;
}
migong[3][1] = 1;
migong[3][2] = 1;
System.out.println("初始化迷宫");
for (int i = 0; i < migong.length; i++) {
for (int j = 0; j < migong[i].length; j++) {
System.out.printf("%d ",migong[i][j]);
}
System.out.println();
}
go(migong,1,1);
System.out.println("走完后的迷宫");
for (int i = 0; i < migong.length; i++) {
for (int j = 0; j < migong[i].length; j++) {
System.out.printf("%d ",migong[i][j]);
}
System.out.println();
}
}
public static boolean go(int[][] migong, int i, int j) {
if (migong[6][5] == 2) {
return true;
}else {
if (migong[i][j] == 0) {
migong[i][j] = 2;
if (go(migong, i+1, j)) {
return true;
}else if (go(migong, i, j+1)) {
return true;
}else if (go(migong, i-1, j)) {
return true;
}else if(go(migong, i, j-1)){
return true;
}else {
migong[i][j] = 3;
return false;
}
}else {
return false;
}
}
}
}