ВУЗ:
Составители:
Рубрика:
42
В  глобальной  процедуре  TryM,  содержащей  Try0,  обнуляется  массив 
Solution и совершается  первый  ход,  после  чего  переменная Success полага-
ется равной False и вызывается Try0 с координатами первой клетки в качестве 
параметров.  
Алгоритм перебора с возвратом для нахождения всех решений 
Алгоритм  построения  всех  решений  проще  предыдущего,  поскольку  в  нем 
отсутствует флаг Success и после нахождения решения оно сразу же обрабаты-
вается (например, выводится на экран), и поиск оставшихся решений продолжает-
ся. 
procedure Try0(i: integer); 
begin 
Формирование списка кандидатов 
  repeat 
выбор очередного кандидата 
    if подходит then 
    begin 
запись кандидата 
      if решение неполное then 
        Try0(i+1) 
      else 
печать решения (или его обработка) 
      стирание кандидата 
    end 
  until 
кандидатов больше нет  
end; 
Упражнение.  Вывести  все  решения  в  задаче  об  обходе  конем  шахматной 
доски. 
Литература 
1.  Зеленяк  О.  Практикум  программирования  на Turbo Pascal / О.  Зеленяк. – М.: 
DiaSoft, 2002. – 310 с. 
2. Ставровский А. Турбо Паскаль 7.0 / А.Ставровский. – Киев: BHV, 2001. – 400 с. 
3. Вирт Н. Алгоритмы и структуры данных / Н. Вирт. – М.: Мир, 1989. – 360 с. 
