then Solve(x+dx[m],y+dy[m],l+1


then Solve(x+dx[m],y+dy[m],l+1); W[m]:=maxint;{отмечаем использованную в переборе клетку} Inc(i); end; end else begin <вывод решения>; halt; end; A[x,y]:=0; end; 2.1.4. Задача о лабиринте Классическая задача для изучения темы. Как и предыдущие, не обходится без внимания в любой книге по информатике. Формулировка проста. Дано клеточное поле, часть клеток занята препятствиями. Необходимо попасть из некоторой заданной клетки в другую заданную клетку путем последовательного перемещения по клеткам. Изложение задачи опирается на рисунок произвольного лабиринта и две «прорисовки» с использованием простого перебора и метода «волны». Классический перебор выполняется по правилам, предложенным в 1891 г. Э.Люка в “Математических досугах”: • в каждой клетке выбирается еще не исследованный путь; • если из исследуемой в данный момент клетки нет путей, то возвращаемся на один шаг назад (в предыдущую клетку) и пытаемся выбрать другой путь. Естественными
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz