Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
:@
). Sa se afiseze toate modalitatile de a aseza n regine pe o tala de sa% de dimensiuni
n&n.
program b1tr@F;
type =ect = array 41""1556 o" integer;
var x:=ect;
n:integer;
procedure 'utput;
var l,c:integer;
begin
"or l:=1 to n do
begin
"or c:=1 to n do
i" c=x4l6 t!en
:rite(l:2)
e.se
:rite(.5.:2);
:riteln;
end;
:riteln;
end;
"unction =alid (1:integer):b''lean;
var i:integer;
se!:b''lean;
begin
se!:=true;
"or i:=1 to 1#1 do
i" (abs(x4i6#x416)=abs(i#1)) or (x4i6=x416) t!en
se!:="a.se;
=alid:=se!;
end;
procedure b1tr;
var 1:integer;
begin
"or 1:=1 to n do
x416:=5;
1:=1;
!i.e 1(5 do
i" 1=n%1 t!en
begin
'utput;
1:=1#1;
end
e.se
i" x416)=n#1 t!en
begin
x416:=x416%1;
i" =alid(1) t!en
1:=1%1;
end
e.se
begin
x416:=5;
1:=1#1;
end;
end;
begin
:riteln(.Se a2iseaCa t'ate p'sibilitatile de a aseCa n da!e : .);
:rite(./ati nu!arul da!el'r = .); readln(n);
i" n)F t!en
:riteln(.7u exista nici ' p'sibilitate de a aseCa da!ele B .);
b1tr;
end"
{
Sa se afiseze toate modalitatile de a aseza n regine pe o tabla de
sa) de dimensiuni n+n.
}
55Se da un numar natura. par6 Sa se a"ise7e toate siruri.e de n parante7e care
se inc!id corect6 program b1tr@H;
type =ect = array 41""1556 o" integer;
var x:=ect; {
Solutia va fi generata in vectorul x.
3om codifica parantezele desc)ise cu " si cele inc)ise cu
&. 2lementele vectorului solutie vor lua valori din multimea
& si ".
}
n:integer; {
*entru a genera sirurile de n paranteze ce se inc)id
corect, n trebuie sa fie par
}
procedure 'utput;
var i:integer;
begin
"or i:=1 to n do
i" x4i6=1 t!en
:rite(.(.)
e.se
:rite(.).);
:riteln;
end;
"unction =alid (1:integer):b''lean;
var i,n1,n2:integer;
se!:b''lean;
{
*entru ca elementul x/41 sa aiba valoare valida trebuie
indeplinite urmatoarele conditii de continuare5
-numarul parantezelor desc)ise 'n"( nu trebuie sa fie
mai mare ca n div %
-numarul parantezelor inc)ise 'n%( nu poate fi mai mare
decat numarul parantezelor desc)ise
-daca 4$n atunci numarul parantezelor desc)ise, respectiv
inc)ise trebuie sa fie n div %
}
begin
se!:=true;
n1:=5; n2:=5;
"or i:=1 to 1 do
i" x4i6=1 t!en
n1:=n1%1
e.se
n2:=n2%1;
i" (n1(n div 2) or (n2(n1) t!en
se!:="a.se;
i" 1=n t!en
se!:=(n1=n div 2);
=alid:=se!;
end;
procedure b1tr;
var 1:integer;
begin
"or 1:=1 to n do
x416:=5;
1:=1;
!i.e 1(5 do
i" 1=n%1 t!en
begin
'utput;
1:=1#1;
end
e.se
i" x416)=1 t!en
begin
x416:=x416%1;
i" =alid(1) t!en
1:=1%1;
end
e.se
begin
x416:=5;
1:=1#1;
end;
end;
begin
:riteln(.Se a2iseaCa t'ate sirurile de paranteCe : .);
:rite(./ati nu!arul de paranteCe (par) = .); readln(n);
i" n mod 2)(5 t!en
begin
:riteln(.Er'areB.);
Dalt;
end;
b1tr;
end"
{
Se da un numar natural par. Sa se afiseze toate sirurile
de n paranteze care se inc)id corect.
}