Listing: GRADINITA.PAS program copii; const max=50; type numar=Comp; dimgrup=0..max; var aa,a,b:array[dimgrup,dimgrup] of numar; i,j,k,m,n:dimgrup; c:numar; f:Text; Begin Assign(f,'copii.in'); Reset(f); Read(f,m,n); Close(f); Assign(f,'copii.out'); Rewrite(f); { acceptiunea 1) } aa[1,1]:=1; for i:=2 to m do aa[i,1]:=i+1; for i:=2 to n do aa[1,i]:=i+1; for i:=2 to m do for j:=2 to n do aa[i,j]:=aa[i-1,j]+aa[i,j-1]; Write(f,aa[m,n]:0:0,' '); { acceptiunea 2) } a[1,0]:=0; a[1,1]:=1; b[1,1]:=1; for i:=2 to n do a[1,i]:=2; for i:=2 to m do begin a[i,0]:=1; b[i,1]:=2; a[i,1]:=a[i-1,1]+b[i-1,1] end; for i:=2 to n do b[1,i]:=a[1,i-1]+b[1,i-1]; for i:=2 to m do for j:=2 to n do begin a[i,j]:=a[i-1,j]+b[i-1,j]; b[i,j]:=a[i,j-1]+b[i,j-1] end; c:=a[m,n]+a[m,n-1]; for k:=2 to n do c:=c+2*a[m,n-k]; for k:=2 to m-1 do c:=c+b[m-k,n]; Writeln(f,c:0:0); Close(f) End. [cuprins] |