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 г. Э.Люка в “Математических досугах”:
• в каждой клетке выбирается еще не исследованный путь;
• если из исследуемой в данный момент клетки нет путей, то возвращаемся на один шаг назад (в предыдущую клетку) и пытаемся выбрать другой путь.
Естественными
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа