Олимпиадные задачи по программированию. Лучшие решения. Часть 1. Ускова О.Ф - 49 стр.

UptoLike

if cur.y<=B then B:=cur.y-1; {и габариты плана(если нужно)}
if cur.x>=R then R:=cur.x+1;
if cur.x<=L then L:=cur.x-1; {-----------}
if ((T-B+1)>2*M+1) or ((R-L+1)>2*N+1) then
exit; {План слишком большой}
if Plan[cur.x,cur.y]='#' then
begin {Пришли на выход :проверим сообщение обезьянки }
GetNextMonkey:=Monkeys[nom][index+1]='E'; {и выйдем }
exit
end
end
else
exit
end;
'L':begin {Повернем обезьянку налево}
if dir.x=0 then
begin
dir.x:=-dir.y;
dir.y:=0
end
else
begin
dir.y:=dir.x;
dir.x:=0
end;
Next.x:=Cur.x+Dir.x; Next.y:=Cur.y+Dir.y
end;
'R':begin {Повернем обезьянку направо}
if dir.x=0 then