модификациями задачи


модификациями задачи поиска всех путей выхода из лабиринта являются: • поиск одного пути; • поиск одного пути кратчайшей длины методом «волны». Решение первой задачи. program Labirint; const Nmax=...; dx:array[1..4] of integer=(1,0,-1,0); dy:array[1..4] of integer=(0,1,0,-1); type MyArray=array[0..Nmax+1,0..Nmax+1] of integer; var A:MyArray; xn,yn,xk,yk,N:integer; procedure Init; ... begin <Ввод лабиринта, координат начальной и конечной клеток. Границы поля отмечаются как препятствия>; end; procedure Print; .... begin <вывод матрицы А - метками выделен путь выхода из лабиринта>; end; procedure Solve(x,y,k:integer);{k - номер шага, x,y - координаты клетки} var i:integer; begin A[x,y]:=k; if (x=xk) and (y=yk) then Print else for i:=1 to 4 do if A[x+dx[i],y+dy[i]]=0 then Solve(x+dx[i],y+dy[i],k+1); A[x,y]:=0; end; begin Init; Solve(xn,yn,1); end. 2.1.5. Задача о парламенте На острове Новой
Индекс
Элементарные функции    Линейные уравнения    Нелинейные уравнения    Случайные числа


Hosted by uCoz