public class MiGongHuiSu{
public static void main(String[] args){
int[][] map = new int[8][7];
for(int i=0; i<map.length; i++){
map[i][0] = 1;
map[i][6] = 1;
}
for(int i=0; i<7; i++){
map[0][i] = 1;
map[7][i] = 1;
}
map[3][2] = map[3][1] = 1;
for(int i=0; i<map.length; i++){
for(int j=0; j<map[i].length; j++){
System.out.print(map[i][j] + " ");
}
System.out.println("");
}
setWay(map, 1, 1);
System.out.println("走迷宫的路径:");
for(int i=0; i<map.length; i++){
for(int j=0; j<map[i].length; j++){
System.out.print(map[i][j] + " ");
}
System.out.println("");
}
}
public static boolean setWay(int[][] map, int i, int j){
if(map[6][5] == 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-1, j)){
return true;
}else if(setWay(map, i, j-1)){
return true;
}else{
map[i][j] = 3;
return false;
}
}else{
return false;
}
}
}
}
import java.util.Arrays;
public class MiGong {
public static void main(String[] args) {
int[][] map = new int[8][7];
for(int i = 0; i < map.length; i++){
map[i][0] = 1;
map[i][6] = 1;
}
for(int i = 0; i < 7; i++){
map[0][i] = 1;
map[7][i] = 1;
}
map[3][2] = map[3][1] = 1;
int[][] next = {
{
-1, 0}, {
0, -1}, {
1, 0}, {
0, 1}};
for(int i=0; i<map.length; i++){
for(int j=0; j<map[i].length; j++){
System.out.print(map[i][j] + " ");
}
System.out.println("");
}
System.out.println("走迷宫:");
dfs(map, next, 8, 7, 1, 1);
}
public static void dfs(int[][] map, int[][] next, int n, int m, int i, int j){
map[i][j] = 2;
if(i == n - 2 && j == m - 2){
for(int[] arr : map){
System.out.println(Arrays.toString(arr));
}
System.out.println("===========================");
return;
}
for(int k = 0; k < 4; k++){
int nextX = i + next[k][0];
int nextY = j + next[k][1];
if(nextX < 0 || nextX >= n || nextY < 0 || nextY >= n){
continue;
}
if(map[nextX][nextY] == 0){
dfs(map, next, n, m, nextX, nextY);
map[nextX][nextY] = 0;
}
}
}
}