电梯那面墙可以开凿放配电箱吗?

发布时间:2025-05-23 14:28 作者:游氏手游网

一、电梯那面墙可以开凿放配电箱吗?

可以,但不能超过朝向井道的墙面

二、上海电子围栏厂家哪家最好?

电子围栏价格便宜,质量过得硬,技术有保障,售后有保障,就可以作为您的首选,上海容晨挺不错的。

三、扩建围栏有什么用?

扩建1级围栏需要畜牧场等级3级,金币1000。扩建后可容纳动物数+1,稀有动物来访率+1%,饲料槽上限增加40。

四、java二维数组迷宫算法

用一个二维数组表示迷宫,如图:

四周均设为1,表示围墙,防止越界;0代表道路,1代表墙壁,如果要走出迷宫,只能走值为0的元素。

迷宫中的每个点,都有8个方向可以试探,用一个二维数组表示:

int[][] move = {{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};

例如1,-1表示横坐标前移一位,纵坐标后移一位。从入口出发,按某一个方向向前探索,如果存在未走过的道路,则到达一个新元素,否则试探下一个方向;若所有的方向均没有道路,则沿原路返回前一点,换下一个方向继续试探,直到所有可能的通路都搜索到,或找到一条通路,或无路可走又返回到入口点。

这里可以用一个栈来实现,每走一步,将该位置压入栈中,若该点无路可走,则出栈返回上一位置。

好了,第一步,设计栈中存放的元素:public class Step {

    int x,y,d;  //横坐标、纵坐标、方向

    public Step(int x,int y,int d) {  

        this.x = x;

        this.y = y;

        this.d = d;

    }

}

然后,回溯法探路:public static int path(int[][] maze,int[][] move,Stack s){

    Step temp = new Step(1,1,-1); //起点

    s.push(temp);

    while(!s.isEmpty()){

        temp = (Step) s.pop();

        int x = temp.x;

        int y = temp.y;

        int d = temp.d+1;

        while(d<8){

            int i = x + move[d][0];

            int j = y + move[d][1];

            if(maze[i][j] == 0){    //该点有路可通

                temp = new Step(i,j,d); //到达新点

                s.push(temp);

                x = i;

                y = j;

                maze[x][y] = -1;  //到达新点,标识已经到达

                if(x == 6 && y == 8){

                    return 1;  //到达出口,迷宫有路,返回1

                }else{

                    d = 0;  //重新初始化方向

                }

            }else{

                d++; //改变方向

            }

        }

    }

    return 0;

}

最后,测试:

public static void main(String[] args) {

    int[][] maze = {{1,1,1,1,1,1,1,1,1,1},

                    {1,0,1,1,1,0,1,1,1,1},

                    {1,1,0,1,0,1,1,1,1,1},

                    {1,0,1,0,0,0,0,0,1,1},

                    {1,0,1,1,1,0,1,1,1,1},

                    {1,1,0,0,1,1,0,0,0,1},

                    {1,0,1,1,0,0,1,1,0,1},

                    {1,1,1,1,1,1,1,1,1,1}};

    int[][] move = {{0,1},{1,1},{1,0},{1,-1},{0,-1},{-1,-1},{-1,0},{-1,1}};

    Stack s = new Stack();

    Stack s1 = new Stack();

    int a = path(maze, move, s);

    while(!s.isEmpty()){

        Step step = (Step) s.pop();

        System.out.println(step.x+:+step.y);

    }

}

效果图:

手游推荐