public class MiGong {
public static void main(String args[]) {
int[][] arry = new int[10][10];
for (int i = 0; i < 10; i++) {
arry[0][i] = 1;
arry[9][i] = 1;
arry[i][0] = 1;
arry[i][9] = 1;
}
arry[3][5] = 1;
arry[6][8] = 1;
arry[4][6] = 1;
arry[3][6] = 1;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(arry[i][j] + " ");
}
System.out.println();
}
setWay(arry,1,1);
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(arry[i][j] + " ");
}
System.out.println();
}
}
//下右左上
public static boolean setWay(int[][] map, int i, int j) {
if (map[8][8] == 2) {
return true;
} else {
if (map[i][j] == 0) {
map[i][j] = 2;
if (setWay(map, i + 1, j)) {
return true;
} else if (setWay(map, i, j + 1)) {
return true;
} else if (setWay(map, i, j - 1)) {
return true;
} else if (setWay(map, i - 1, j)) {
return true;
} else {
map[i][j] = 3;
return false;
}
} else {
return false;
}
}
}
}
本题是通过数组造一个迷宫,并通过方法的递归及回溯来找到到达出口的方法。