0 Вопрос: Лабиринт с более чем одним уровнем [закрыт]

вопрос создан в Thu, May 2, 2019 12:00 AM

Я хочу закодировать консольное приложение, которое решает лабиринт с 3 уровнями, используя возврат. Я не знаю, как начать возвращение.

Лабиринт с 3 уровнями:

внешний вид лабиринта по умолчанию

«E» - это парень, который хочет избежать этого, а «S» - выход. Он /она не может двигаться по диагонали только вперед, назад, влево, вправо, вверх и вниз. Я уже преобразовал этот источник в бинарный. 0 означает стену, 1 означает путь, по которому он может идти.

public List<int[,]> ToBin()
        {
            List<int[,]> bin = new List<int[,]>();
            for (int i = 0; i < level; i++)
            {
                bin.Add(new int[row, column]);
                for (int j = 0; j < row; j++)
                {
                    for (int k = 0; k < column; k++)
                    {
                        bin[i][j, k] = 0;
                    }
                }
            }
            for (int i = 0; i < level; i++)
            {
                for (int j = 0; j < row; j++)
                {
                    for (int k = 0; k < column; k++)
                    {
                        if (defaultOne[i][j,k] != '#')
                        {
                            bin[i][j, k] = 1;
                        }
                    }
                }
            }
            return bin;
        }

Я хотел бы алгоритм обратного отслеживания, который может решить лабиринт и отбросить исключение, если оно не может быть решено. (приложение уже знает, где парень и где он существует)

    
0
  1. Не ясно, с какой частью задания у вас возникли проблемы.
    2019-05-02 14: 54: 17Z
  2. создает алгоритм решателя. я не знаю, где и как его запустить: /
    2019-05-02 14: 55: 18Z
  3. Вы можете попробовать алгоритм Дейкстры
    2019-05-02 14: 55: 18Z
  4. Для выполнения алгоритма обратного отслеживания обычно требуется рекурсивный вызов, когда нет доступного решения. Где это в вашем коде?
    2019-05-02 14: 57: 19Z
  5. Вы понимаете, что такое график, концептуально? Если вы это сделаете, то решение 3 слоев точно так же, как решение 1.
    2019-05-02 16: 48: 46Z
0 ответов                              0                         
источник размещен Вот