(java)简单回朔法解决迷宫问题

import java.util.*;
class Step{
    int x,y,d;
    public Step(int x,int y,int d) {
        this.x = x;//横坐标
        this.y = y;//纵坐标
        this.d = d;//方向
    }
}

public class Main3 {

	public static int getnum(int x1,int y1,int x2,int y2){
		return (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
	}
    public static void main(String[] args) {
    	Scanner sc=new Scanner(System.in);
    	while(sc.hasNextInt()){
    		//构造迷宫
    		int n=sc.nextInt();
    		int m=sc.nextInt();
    		int[][] maze=new int[n][m];
    		ArrayList list = new ArrayList();
    		 for(int i = 0; i < n; ++i) {
    			 String str=sc.next();
    	            for(int j = 0; j < m; ++j) {
    	                char  c= str.charAt(j);
    	                if(c=='.'){
    	                	 maze[i][j] = 0;
    	                	 int[][] endij=new int[1][2];
    	                	 endij[0][0]=i+1;
    	                	 endij[0][1]=j+1;
    	                	 list.add(endij);
    	                }else{
    	                	 maze[i][j] = 1;
    	                } 	
    	            }
    	        }
    		 int begini=sc.nextInt()+1;
    		 int beginj=sc.nextInt()+1;
    		 int max=0;
    		 int endi=0;
    		 int endj=0;
    		 for(int i=0;imax){
    				 max=temp;
    				 endi=list.get(i)[0][0];
    				 endj=list.get(i)[0][1];
    			 }
    		 }
    		int k=sc.nextInt();
    		int[][] move=new int[k][2];
    		for(int i=0;i

你可能感兴趣的:(java)