 |
backtracking.MyForum.ro Fa-ti si tu propriul forum, pe www.myforum.ro!
|
| Subiectul anterior :: Subiectul urmator |
| Autor |
Mesaj |
darky Junior

Data inscrierii: 15/Noi/2007 Mesaje: 1
|
Trimis: 15/11/2007 09:56 Titlul subiectului: pr 4 pag 126 |
|
|
[url=http://www.snapdrive.net/files/458805/BACKTR.rar]click 4 download problema 4,pag 126[/url]
| Cod: | type vector=array [1..100] of integer;
var n,j:integer;
sol,v:vector;
function succesor(k:integer):boolean;
begin
if sol[k]<n then begin
sol[k]:=sol[k]+1;
succesor:=true;
end
else
succesor:=false;
end;
function valid(k:integer):boolean;
var i:integer;
begin
valid:=true;
for i:=1 to k-1 do
if sol[i]=sol[k] then
valid:=false;
for j:=1 to n-1 do
if (v[i]=sol[k-1]) and (v[i+1]=sol[k]) then valid:=false;
end;
function solutie(k:integer):boolean;
begin
if k=n+1 then solutie:=true
else solutie:=false;
end;
procedure tipar;
var i:integer;
begin
for i:=1 to n do
write(sol[i]);
writeln;
end;
procedure creare(var v:vector;var n:integer);
var i:integer;
begin
write('n= ');readln(n);
for i:=1 to n do begin
write('v[',i,']= ');readln(v[i]);
end;
end;
procedure back(k:integer);
begin
if solutie(k) then tipar
else
begin
sol[k]:=0;
while succesor(k) do
if valid(k) then back(k+1);
end;
end;
begin
creare(v,n);
back(1);
readln;
end. |
_________________ nush sa ma semnez:D |
|
| Sus |
|
 |
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
Powered by phpBB © 2001, 2005 phpBB Group Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|