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);
}
}