Есть матрица размером s где s>=5
Генерирую ее следующим образом
label
1;
const
s=10;
var
m : array[1..s,1..s] of integer;
i : integer;
j : integer;
r : integer;
ss : string;
begin
randomize;
memo1.lines.Clear;
for i:=1 to s do
begin
ss:='';
for j:=1 to s do
begin
1: if random(2)=0
then r:=0
else r:=random(10);
if r=1 then goto 1;
m[i,j]:=r;
ss:=ss+inttostr(m[i,j])+' ';
end;
memo1.Lines.add(ss);
end;
end;
Далее задаем координаты старта и координаты финиша. И нужно проставить короткий путь цифрой 1 от старта к финишу. Двигаться можно только только там где 0. Если пути нет то облом.