小米商城网站seo优化建议
题目:
粉色圈圈是启动,红色方框是阻挡,蓝色五角星是出口,走到出口,老鼠winner
代码:
public class test6
{public static void main(String[] args){//创建二维数组int[][] map = new int[8][7];// 最外围都是1 -> 表示障碍物不能走for(int i = 0; i < 7 ; i++){map[0][i] = 1;map[7][i] = 1;}for(int i = 0; i < 8 ; i++){map[i][0] = 1;map[i][6] = 1;}// 单独去标注几个障碍物map[3][1] = 1;map[3][2] = 1;map[2][2] = 1;// 打印地图System.out.println("==============当前地图==============");for(int i=0;i<8;i++){for(int j=0;j<7;j++){System.out.print(map[i][j] + " ");}System.out.println();}System.out.println();System.out.println("老鼠结果如下:=========================================");// 接函数收返回的值boolean res = findway(map,1,1);if(res){System.out.println("老鼠逃出");}else{System.out.println("老鼠gg");}System.out.println();// 打印现在的地图System.out.println("==============老鼠走过的地图==============");for(int i=0;i<8;i++){for(int j=0;j<7;j++){System.out.print(map[i][j] + " ");}System.out.println();}}// 1、findway 方法就是专门来找出迷宫的路径// 2、如果找到,就返回true,否则返回false// 3、map 就是二维数组,即表示迷宫// 4、i , j 就是老鼠的位置,初始化的位置为(1,1)// 5、因为我们是递归的找路,所以我先规定 map数组的各个值的含义// 0-> 表示可以走的路 1-> 表示障碍物不能走的路 2-> 表示可以走(此路走过是通路) 3-> 表示走过,但是走不通// 6、当map[6][5] = 2, 就说明找到通路,就可以结束,否则就继续找// 7、先确定老鼠找路策略: 下->右->上->左public static boolean findway(int[][] map , int i, int j){// 如果老鼠走到了map[6][5] = 2 说明找到出路if(map[6][5] == 2){return true; //返回对}else{// 如果这个点是0表示可以走if(map[i][j] == 0){//假如这个路是同的先暂时标记 -> 2map[i][j] = 2;if(findway(map,i+1,j)) //下{return true;}else if(findway(map,i,j+1)) //右{return true;}else if(findway(map,i-1,j)) // 上{return true;}else if(findway(map,i,j-1)) // 左{return true;}else // 走不通标记3{map[i][j] = 3;return false;}}else // 说明这个点表示 1 2(走过的路不能重复标记) 3 不通 返回false{return false;}}}
}
此题有多条路径,上面只展示一条,欢迎有疑问的小伙伴留言~,喜欢就点个关注再走吧!!!