p> 
 If {Приїхали} and {Часом не перевищено} and {мінімальна ціна рейсу не вище 
  допустимої} then {Додати побудований маршрут в мно-во відповідей на потрібне місце} 
  end; 
  end; 
  {Перейти до наступного рейсу} 
  end; 
  end 
  Текст програми мовою Pascal 
  uses Crt, Date, Graph; 
  Const MaxCity = 100; MClass = 6; 
  Type 
  CityCode = 1 .. maxcity; {Внутрений код міста} 
  Week = 0 .. 10079; {Тип час в мінутак з 0:00 понеділка} 
  DayTable = ^ IDayTable; {Таблиця відправлень від початковій станції} 
  IDayTable = record 
  Time: Week; 
  Next: DayTable; 
  end; 
  WayKind = 1 .. 4; {Тип шляху (аеро, море, ж.д, авто)} 
  WayClass = 1 .. MClass; {Клас або тип перевезення} 
  Cities = array [CityCode] of {Назви і координати міст} 
  record 
  name: string [20]; 
  x, y: word; 
  end; 
  mcost = array [wayclass] of longint; {Таблиця вартості за класами} 
  Way = record 
  City: Citycode; 
  Delay, Reboard: Word; 
  Cost: mcost; 
  end; 
  WayP = ^ way; 
  PWay = ^ Way1; {Інформація про міста прямування рейсу} 
  Way1 = record 
  Way: array [1 .. 4] of way; 
  next: PWay; 
  end; 
  wclass = array [WayClass] of boolean; 
  PFlight = ^ Flight; 
  Flight = record {Інформація щодо рейсу} 
  company: string [20]; 
  number: string [10]; 
				
				
				
				
			  totalstation: CityCode; 
  table: DayTable; 
  path: PWay; 
  kind: WayKind; 
  class: WClass; 
  next: PFlight; 
  end; 
  Blank = record {Шаблон для пошуку шляху} 
  delay: Week; 
  BCity, ECity: CityCode; 
  Kind: array [WayKind] of boolean; 
  ReBoading: CityCode; 
  WayTime: Integer; 
  Cost: Longint; 
  Class: WClass; 
  end; 
  Link = ^ CityList; {Ланцюжок рейсів для проїзду від початку до кінця} 
  CityList = record {Інформація про проїзд між двома пунктами одним рейсом} 
  DDelay: Word; 
  waytime: word; 
  cost: mcost; 
  Bcity, Target: CityCode; 
  Flight: PFlight; 
  Last: Link; 
  end; 
  AnswerList = ^ IAnswer; {Список всіх можливих маршрутів прямування} 
  IAnswer = record 
  path: link; 
  reboard: citycode; 
  mincost, maxcost: longint; 
  waytime: word; 
  next: AnswerList; 
  end; 
  var Lanswer: AnswerList; {глобальна змінна - початок списку маршрутів} 
  {Додавання нового знайденого маршруту} 
  Procedure Answer (A: Link; cost: longint); 
  var P, Q: Link; d, s1, s2: word; W, PAnswer: answerlist; r: citycode; 
  function min (a: mcost): longint; {Мінімальна вартість по класах} 
  var i: integer; m: longint; 
  begin 
  m: = 1000000000; 
  for i: = 1 to Mclass do if (m> a [i]) and (a [i]> 0) then m: =...