图解老鼠走迷宫

 

//公共类
public class Re{

    //定义一个main方法 
    
    public static void main(String[] args){
        //定义一个二维数组 路径
        int[][]path=new int[3][3];
        //定义一个二维数组记录障碍物 okLu[1][0]=0
        int[][]okLu={
            {1,1,1},
            {0,0,1},
            {1,1,1}
        };
        if(goMi(okLu,0,0,path)){
            System.out.println("找到路径:");
            printPath(path);
        }else{
            System.out.println("无解");

        }


        }
    static boolean goMi(int[][]okLu,int x,int y,int[][]path){
        if(x<0||y<0||x>=3||y>=3||okLu[x][y]==0){
            return false;
        }
        path[x][y]=1;
        if(x==2&y==2){
            return true;
        }
        if(goMi(okLu,x,y+1,path)){
            return true;
        }
        if(goMi(okLu,x+1,y,path)){
            return true;
        }
        path[x][y]=0;
        return false;

    }
    static void printPath(int[][]path){
        for(int i=0;i<3;i++){
            for(int j=0;j<3;j++){
                if(path[i][j]==1){
                    System.out.print("("+i+","+j+")");
                }
            }
            System.out.println();
        }
    }
    }

 

 

posted @ 2025-05-08 15:36  胖豆芽  阅读(7)  评论(0)    收藏  举报