mihaispr
Administrator
 Inregistrat: acum 17 ani
Postari: 2142
|
|
PROGRAM Tura; {Se considera o tabla de sah avind n linii si n coloane. Intr-o matrice patrata a de ordin n este sintetizata situatia existenta pe tabla de sah; mai percis, a[i,j] este 0 daca pe pozitia (i,j) nu se afla nici o pisa si este 1 in caz contrar. Se cere sa se determine daca o tura situata in pozitia (i0,j0) poate sa ajunga in pozitia (i1,j1), deplasindu-se numai pe pozitii libere.(se utilizeaza recursia si metoda reluarii)} label 1; const n=5; var i,j,i0,j0,i1,j1:integer; a: array [1..n, 1..n] of -1..1;
function fi(i,j: integer): boolean; begin fi:= (i>0) and (i<=n) and (j>0) and (j<=n) and (a[i,j]=0) end;
procedure back(i,j: integer); begin if not fi(i,j) then else if (i=i1) and (j=j1) then begin writeln('succes'); goto 1 end else begin a[i,j]:=-1; back(i,j-1); back(i-1,j); back(i,j-1); back(i,j+1) end end;
begin for i:=1 to n do for j:=1 to n do read(a[i,j]); readln(i0,j0,i1,j1); a[i0,j0]:=0; back(i0,j0); writeln('esec');1: end.
|
|