Delphi. Лабиринт. (рекурсия)
Пусть лабиринт представлен в виде клетчатого поля. Нумерация клеток двойная. Каждая клеточка имеет свой номер по горизонтали и по вертикали. Пусть в некоторых клеточках записаны нули. Это свободные клетки. А в некоторых записаны единицы. Это закрытие клетки.
Выходом из лабиринта будем считать любую незанятую граничную клетку.
Определить, существует ли выход из клетки с номером R1,C1 (которая может быть расположена в любом месте лабиринта).
В этой задаче надо представить графическое решение, отметив любым значком (например, снежинкой *, путь от точки с координатами R1,C1 до выхода.
Входные данные: Размер лабиринта R – клеток по горизонтали, С клеток по вертикали,
X Заполнение лабиринта задается с клавиатуры или считывается из файла
X R1, C1 – исходная точка начала прохождения лабиринта
Выходные результаты: изображение лабиринта, в котором отмечено начальное положение, и путь прохождения
Часть 1:
Исходники
Скомпилированный файл
Пример входного файла (Input.txt)
Текст Unit1 с коментариями в отдельном файле.
Особенности реализации:
- Ввод данных из файла Input.txt или в форму.
- Сохраниние входных данных из формы в файл Input.txt
- Изображение лабиринта псевдографикой в Memo: 0 - проход, 1 - стена, X - стартовая позиция, * - путь к выходу.
- Сохранение результатов в Output.txt