Pagina de start a forumului backtracking.MyForum.ro backtracking.MyForum.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
 
 FAQFAQ   CautareCautare   MembriMembri   GrupuriGrupuri   InregistrareInregistrare 
 ProfilProfil   Mesaje privateMesaje private   AutentificareAutentificare 

problema 3 pagina 125

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului backtracking.MyForum.ro -> Teme pentru acasa
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
g5u
Junior
Junior


Data inscrierii: 08/Noi/2007
Mesaje: 4

MesajTrimis: 15/11/2007 11:28    Titlul subiectului: problema 3 pagina 125 Raspunde cu citat (quote)

Cod:

type ma=record
     x,y:byte;
end;
var n,i,p:integer;
    v:array[1..100] of ma;
    sol:array[1..100] of integer;
procedure init(k:integer);
begin
     sol[k]:=0;
end;
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,nr:integer;
begin
     valid:=true;
     for i:=1 to n do    begin
    if k>1 then if (sol[k-1]=v[i].x) and (sol[k]=v[i].y) or (sol[k-1]=v[i].y) and (sol[k]=v[i].x) then
         valid:=false;
    if k=n then if (sol[n]=v[i].x) and (sol[1]=v[i].y) or  (sol[n]=v[i].y) and (sol[1]=v[i].x) then
         valid:=false;
         end;
   for i:=1 to k-1 do
         if sol[i]=sol[k] then valid:=false;

end;
function solutie(k:integer):boolean;
begin
     solutie:=(k=n+1);
end;
procedure tipar;
var i:integer;
begin
     for i:=1 to n do
         write(sol[i]);
         writeln
     end;
procedure back(k:integer);
begin
     if solutie(k) then tipar
        else begin
             init(k);
        while succesor(k) do
        if valid(k) then back(k+1);
        end;
end;
begin
     write('n='); readln(n);
     write('p='); readln(p);
     for i:=1 to p do  begin
         write('v[i].x=');
         read(v[i].x);
         write('v[i].y=');
         read(v[i].y);
         end;
     back(1);readln end.

_________________
Andrei Valentin
Sus
Vezi profilul utilizatorului Trimite mesaj privat
uahanamiti
Junior
Junior


Data inscrierii: 29/Iun/2012
Mesaje: 6
Localitate: Ukraine

MesajTrimis: 15/07/2012 22:01    Titlul subiectului: Raspunde cu citat (quote)

How cool is that!
Sus
Vezi profilul utilizatorului Trimite mesaj privat
uahanamiti
Junior
Junior


Data inscrierii: 29/Iun/2012
Mesaje: 6
Localitate: Ukraine

MesajTrimis: 17/07/2012 08:59    Titlul subiectului: Raspunde cu citat (quote)

I love your style
Sus
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului backtracking.MyForum.ro -> Teme pentru acasa Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
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