bing_du_bing_du;

来源:互联网 发布:sql develop下载 编辑:程序博客网 时间:2024/06/05 18:29


public class BingDu {
    public static int[][] map={{0,0,0,0},{0,0,1,0},{0,1,1,0},{0,0,1,0}};
 public static int[] direx={-1,0,1,0};
 public static int[] direy={0,1,0,-1};
    public static int people=0;
    public static int result=0;
    public static boolean isEnd(int x,int y){
     if(map[x][y]==0)return true;
     boolean res=true;
     for(int i=0;i<4;i++){
      int new_posx=x+direx[i];
      int new_posy=y+direy[i];
      if(new_posx>=0&&new_posx<4&&new_posy>=0&&new_posy<4&&map[new_posx][new_posy]==1){
        res=false;
      }
     }
     return res;
    }
    public static void dFS(int posx,int posy){
     
     if(isEnd(posx,posy)){
      for(int i=0;i<4;i++){
       for(int j=0;j<4;j++){
        System.out.print(map[i][j]+" ");
       }
       System.out.println(" ");
      }
      System.out.println(" ");
      for(int i=0;i<4;i++){
       for(int j=0;j<4;j++){
          if(map[i][j]==2)
             people++;
       }
      }
      if(result<people){
       result=people;
      }
      people=0;
      return;
     }
      
 
     for(int i=0;i<4;i++){
      
        int new_posx=posx+direx[i];
        int new_posy=posy+direy[i];
        if(new_posx>=0&&new_posx<4&&new_posy>=0&&new_posy<4&&map[new_posx][new_posy]==1){
       map[new_posx][new_posy]=2;
       dFS(new_posx,new_posy);
       map[new_posx][new_posy]=1;
           }
      
     }
     
     
     
     
    }
 public static void main(String[] args){
  for(int i=0;i<4;i++){
   for(int j=0;j<4;j++){
    System.out.print(map[i][j]+" ");
   }
   System.out.println(" ");
  }
  System.out.println(" ");
  for(int x=0;x<4;x++){
   for(int y=0;y<4;y++)
   dFS(x,y);
  }
  
  System.out.println(result-1);
  
 }
 
 
}

0 0
原创粉丝点击