Metoda Backtracking - Ppt

Embed Size (px)

Citation preview

  • 8/18/2019 Metoda Backtracking - Ppt

    1/75

    Obiective operaţíonale/rezultate aşteptate

     La sfârşitul unităţii de învăţare “Metoda de programare backtraking”, elevii vor fi capabili:

    O1. Să recunoască tipurile de probleme care pot fi rezolvate cu metoda bactracin!.

    O". Să#şi însuşească modul de funcţionare a rutinei bactracin!.O$. Să recunoscă părţile esenţiale ale al!oritmului: funcţiile specifice.

    O%. Să identifice corect toate soluţiile unei probleme date cel puţin pentru al!oritmii studiaţi la

    clasă &!enerare permutări, aran'amente, combinări, produs cartezian, submulţimi(.

    O). Să identifice corect valoarea de iniţializare pentru orice nivel al stivei pentru o problemă

    dată &!enerare permutări, aran'amente, combinări, produs cartezian, submulţimi(

    O*. Să identifice corect mulţimea valorilor posibile pentru un nivel al stivei, pentru o problemăstudiată. &!enerare permutări, aran'amente, combinări, produs cartezian, submulţimi(

    O+. Să identifice condiţiile de continuare pentru obţinerea unei soluţii la al!oritmii studiaţi.

    O. Să simuleze corect lucrul cu stiva.

    O-. Să determine corect soluţiile unui al!oritm de !enerare permutări, aran'amente, combinări, produscartezian pe eemple concrete.

    O1/. Să identifice corect numărul de soluţii pentru o problemă de 0actracin! cu un al!oritm

    clasic.

    O11. Să stabilească valorile variabilelor utilizate în al!oritm, când se dau datele de intrare, pentru o

    problemă care se rezolvă prin tenica bactracin!.

    O1". Să scrie funcţiile corespunzătoare unei probleme pentru al!oritmii studiaţi.

    O1$. Să ruleze pro!ramul în vederea afişării soluţiilor.

    O1%. Să optimizeze al!oritmul.

  • 8/18/2019 Metoda Backtracking - Ppt

    2/75

    Metoda Backtracking

    1. Aspecte teoretice2. Exemplu pentru înţelegerea metodei3. Permutri!. Aran"amente

    #. $ombinri%. Problema celor n dame&. Problema colorrii 'rţilor(. Problema comis )oia"orului

    *. Problema plaţii unei sume s utili+,nd m tipuri demonede1-. acktracking recursi)11. Aran"amente si permutari re+ol)ate recursi)

  • 8/18/2019 Metoda Backtracking - Ppt

    3/75

    1. Aspecte teoretice

    Metoda acktracking este o metod de elaborare aalgoritmilor. Ea se aplic problemelor în care soluţia se poate

    repre+enta sub /orma unui )ector0 x10x20...xm40 care aparţinelui 551x52x...5m

     551x52x...5m se nume6te spaţiul soluţiilor posibile Pentru 7ecare problem în parte se dau anumite condiţii între

    componentele vectorului soluţie care se numesc condiţiiinterne

      Soluţiile posibile  care )eri7c condiţiile interne  senumesc soluţii rezultat 

    Metoda acktracking î6i propune s genere+e toate soluţiilerezultat 

    8 metod simpl de a genera soluţiile rezultat   const în agenera într9un mod oarecare toate soluţiile posibile 6i de a alegedintre acestea doar pe cele care )eri7c condiţiile interne.:e+a)anta"ul const în /aptul c timpul cerut este /oarte mare.

  • 8/18/2019 Metoda Backtracking - Ppt

    4/75

    Metoda acktracking urmre6te s e)ite generareatuturor soluţiilor posibile. Pentru aceasta elementele)ectorului x primesc pe r,nd )alori în sensul c lui x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    5/75

    2. Exemplu pentru înţelegereametodei

    Presupunem c dorim s ne îmbrcm de la unmaga+in pentru o /esti)itate 6i dorim s cumprm?pantof, ciorapi, pantaloni, cămaşă 6i  cravataast/el înc,t acestea s se asorte+e între ele0 s se

    genere+e toate modalitţile de a ne îmbrca.

    Maga+inul are # eta"e

    @a eta"ul 1 are 1- raioane cu panto7@a eta"ul 2 are 1- raioane cu ciorapi@a eta"ul 3 are 1- raioane cu pantaloni@a eta"ul ! are 1- raioane cu cm6i

    @a eta"ul # are 1- raioane cu cra)ate

  • 8/18/2019 Metoda Backtracking - Ppt

    6/75

    :eoarece soluţia are mai multe componente0 # c,teeta"e are maga+inul0 putem /olosi metoda acktracking.Pentru re+ol)are )om /olosi?

    k   ? )ariabil întreag care repre+int etajul pe care

    ne găsimx ? )ector care are # componente întregi0 adic exactc,te eta"e are maga+inul cu proprietatea c x;k<repre+int numrul raionului de la care s9a cumprat peeta"ul k.

    Bn ca+ul de /aţ x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    7/75

    se pleac de la primul eta"din /aţa u6iiat,ta timp c,t înc ne am la un eta" 0 k 

    repetmne întrebm dac mai sunt raioane pe eta"ul k dac da0 atuncise )eri7c dac ne con)ine ce conţine raionul care urmea+at,ta timp c,t mai sunt raioane 6i nu am găsit ce ne place.dac am găsit atuncidac le-am luat pe toate 

    atuncise a76ea+alt/else merge la eta"ul urmtor în /aţa u6iialt/el

    se coboar la eta"ul de "os

    Cum se procedează:

  • 8/18/2019 Metoda Backtracking - Ppt

    8/75

    k1F se pleac de la primul eta"4x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    9/75

    $um ne dm seama dac mai sunt raioane laeta"ul kK

    )oid succsir x0int k0int Ias4 /uncţia care determin dac mai suntraioane la eta"ul k4

    Ci/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    10/75

    Pentru reali+area programului separcurg urmtoarele etape?

    2  construirea tipului sir2  declararea tuturor varia!ilelor care apar în cadrul programului principal

    2  reali+area /uncţiei succ2  reali+area /uncţiei valid2  reali+area /uncţiei a"#2  programul principal care conţine rutinaprincipală

  • 8/18/2019 Metoda Backtracking - Ppt

    11/75

    $onstruireatipului sir

    includeLiostreamHincludeLstdio.'Husing namespace stdFtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    12/75

    Oeali+area /uncţieivalid

    )oid )alidintIe)4C

    e)1F

    D

     Am găsit ce îmi place

    Oeali+area /uncţiei a"#

    )oid a7ssir x0int k4Cint iF

    /ori1FiLkFi==4coutLLx;i

  • 8/18/2019 Metoda Backtracking - Ppt

    13/75

    $omentarii

    1.:acla eta"ul 1 ar 7 /ost n1raioanela eta"ul 2 ar 7 /ost n2raioane

    .......la eta"ul k ar 7 /ost nkraioane

    Quncţia succesor semodi7c ast/el?

    )oid succsir x0 intk0 intIas4

    Ci/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    14/75

    $omentarii

    2.:ac maga+inul are m eta"e atunci condiţia Rdac s9au /cuttoate cumprturile” sau Rs9a a"uns la ultimul eta"” se scriei/km4

    3.:ac la 7ecare eta" numrul de maga+ine este )ariabil nu 1-4

    condiţia de testare din /uncţia succesor este

    i/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    15/75

    Atunci c,nd componentele vectorului soluţie tre!uie să"e distincte trebuie artat c x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    16/75

    %ermutări

    8 permutare a unei mulţimi cu n elemente este un 6irde elemente obţinut prin sc&im!area ordiniielementelor mulţimii date sau c'iar  mulţimea însă#i.

    >e g,ndim la generarea permutrilor atunci c,nd se

    d o mulţime cu n elemente ca date de intrare iarsoluţia este sub /orma de )ector0 tot cu n elemente0 alecrui componente sunt distincte 6i aparţin mulţimii date.

    Exemplu' Qie AC10203D. Permutrile mulţimii A sunt?1020340 1030240 2010340 2030140 3010240 302014.

    Qie ACa10 a20S0amD o mulţime cu elemente de tip întreg. Trebuie determinate elementele mulţimii C N10N20S0Nm DU Nk∈A0 k1020...0m0 pentru Ni≠N" pentru i≠ "D.

    :eci0 x x10 x20S0xm4 unde x∈C10...0mD0 elementele

    )ectorului x trebuie s 7e distincte.

  • 8/18/2019 Metoda Backtracking - Ppt

    17/75

    Programul?includeLiostream.'HincludeLstdio.'H

    tNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    18/75

    void valid(sir x) int k) int *as

    Cint iF

    e) 1F/ori1FiLk91Fi==4i/Jx;i

  • 8/18/2019 Metoda Backtracking - Ppt

    19/75

    int main)oid4CcoutLLmFcinHHmF

    /ori1FiLmFi==4cinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    20/75

    Aran"amente

    5e dau dou mulţimi AC1020S0pD 6iC1020S0mD se cer toate /uncţiile

    in"ecti)e de7nite pe A cu )alori în . 8ast/el de problem este una de generare aaran"amentelor de n luate cate p Anp4.

    Exemplu? p20 n3. A)em 10240 2014010340 30140 20340 3024. :e exemplu 2014este /uncţia /?AV dat ast/el /1420/241. A)em relaţiile? mm914...m9p=14.

  • 8/18/2019 Metoda Backtracking - Ppt

    21/75

    A)em relaţiile?(

    -

     pm

    m A pn

    −= mm914...m9p=14.

    5e citesc m 6i p. 5 se genere+e toate aran"amentelede m luate c,te p.

    5e obser) c dac se cunoa6te 7ecare submulţimede p elemente a mulţimii de m elemente0 atunciaran"amentele se pot obţine permut,nd în toatemodurile posibile elementele unei ast/el de mulţimi.

    8 soluţie este de /orma? x10x20...xp undex10x20...xp∈. Bn plus x10x20...xp trebuie s 7e distincte.8 soluţie are p numere din mulţimea 6i numereletrebuie s 7e distincte.

    :e aici re+ult c algoritmul este acela6i ca lapermutri0 di/erenţa 7ind dat de /aptul c soluţia are p

  • 8/18/2019 Metoda Backtracking - Ppt

    22/75

    includeLiostream.'HincludeLstdio.'HtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    23/75

    )oid )alidsir x0 int k0int Ias4Cint iFe) 1F/ori1FiLk91Fi==4

    i/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    24/75

    int main)oid4CcoutLLmFcinHHmF/ori1FiLmFi==4

    cinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    25/75

    $ombinri

    Qiind dat o mulţime A cu n elemente0 a combinaelementele mulţimii în grupe de c,te pLnelemente înseamn a determina toţi )ectorii cu pelemente ale cror componente aparţin mulţimii A6i sunt sortate cresctor.

    >e g,ndim la generarea combinrilor atuncic,nd se d o mulţime cu n elemente ca date deintrare iar soluţia este sub /orma unui )ector cu

    pLn elemente0 ast/el înc,t s nu aib importanţordinea pe care o au în cadrul 6irului.$omponentele sunt sortate crescător 6i aparţinmulţimii date.

    Qie AC10203D. $ombinrile mulţimii A în grupede c,te dou elemente sunt 10240 10340 2034.

  • 8/18/2019 Metoda Backtracking - Ppt

    26/75

    includeLiostream.'HincludeLstdio.'HtNpede/ intsir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    27/75

    )oid )alidsir x0 int k0 int Ias4Cint iF

    e) 1F/ori1FiLk91Fi==4i/kH24IIJa;x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    28/75

    int main)oid4CcoutLLmFcinHHmF

    /ori1FiLmFi==4cinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    29/75

    Problema celor n dame

    Pentru re+ol)are se )or /olosi?k )ariabila întreag ce repre+int linia pe care

    se a6ea+ a k9a dam

    x )ector cu componente întregi cuproprietatea c xk repre+int coloana pe care sea6ea+ a k9a dam

    :eoarece tabla are n linii 6i n coloanek∈C1020..0nD si xk∈C1020...0nD adic?

    xx10x20...0xn4 unde xk∈C1020SnD0

    k∈C1020...0nD.

  • 8/18/2019 Metoda Backtracking - Ppt

    30/75

    Bn desenul de mai "os este ilustrat situaţia în care dama k 6i dama i sunt situate peaceea6i diagonal.

    i

    $i $k 

    k-i"$k -$i(tre.uie ca damele să fie a/ezate

    0n colţurile unui pătrat cu latura1-i, respectiv $k -$i

  • 8/18/2019 Metoda Backtracking - Ppt

    31/75

    Bn desenul de mai "os este ilustrat situaţia în care dama k 6i dama i sunt situate peaceea6i diagonal.

    i

    $k  $i

    k-i"$i-$k (tre.uie ca damele să fie a/ezate

    0n colţurile unui pătrat cu latura1-i, respectiv $i-$k 

  • 8/18/2019 Metoda Backtracking - Ppt

    32/75

    2 :ama k 6i dama i se gsesc peaceea6i diagonal dac k9iUxk9xiU

    2 :ama k 6i dama i se gsesc peaceea6i coloan dac xkxi.

    2 :ama k 6i dama i nu se a eaceea6i lunie niciodat datoritmodului de construire a )ectorului x

  • 8/18/2019 Metoda Backtracking - Ppt

    33/75

    Quncţia )alid trebuie s )eri7ce dac damak nu se a pe aceea6i coloan sau pe

    aceea6i diagonal cu dama i.

    :eci trebuie artat c?

    xk≠xi 6i k9i≠Uxk9xiU pentru i1020S0k91.

    adic

    i/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    34/75

    tNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    35/75

    int main)oid4CcoutLLnFcinHHnF

    k1Fx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    36/75

    %ro!lema colorării&ărţilor

    Qiind dat o 'art cu n tri0 se cer toatemodalitţile de colorare a 'rţii0 utili+,nd cel mult mculori0 ast/el înc,t dou ţri cu /rontier comun s7e colorare di/erit. Este demonstrat /aptul c sunt

    su7ciente numai ! culori ca orice 'art s poat 7colorat.

    Pentru re+ol)are se )or /olosi?

    k? )ariabil întreag0 care repre+int o ţarx? )ector cu componente întregi cu proprietatea xk repre+int culoarea ţrii cu numrul k

    deoarece sunt n ţri 6i m culori0 kC10...0nD 6ixkC10...0mD

    xx10x20...0xn4 unde xk∈C10...0nD.

  • 8/18/2019 Metoda Backtracking - Ppt

    37/75

    =

    ==

    esunt vecinnu 2tarasiitaradaca'

    esunt vecin 2tarasiitaradaca#

    ,

    ,

     ji

     ji

    a

    a A

    1

    "

    $

    %

    )

    Pentru repre+entarea 'rţii în program se )a /olosi matricea de adiacenţăde7nit ast/el?

    Exemplu? pentru 'arta de mai "os?Matricea de adiacenţ este?

       

       

     

     

     

     

    =

    '####

    #'###

    ##'''

    ##''#

    ##'#'

     A

  • 8/18/2019 Metoda Backtracking - Ppt

    38/75

    ,oncluie'

     Wara k 6i ţara i sunt )ecine0 dac ai0k14 sauak0i14

     Wara k 6i ţara i au aceea6i culoare dac xkxi

    ,omentarii la $uncţia valid? Trebuie )eri7cat dac ţara k 6i ţara i ce sunt

    ţri )ecine au culori di/erite0 adic dac

    ak0i1 pentru xk≠xi0 pentru i1...k91.

  • 8/18/2019 Metoda Backtracking - Ppt

    39/75

    includeLiostream.'HincludeLmat'.'HtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    40/75

    )oid )alidsir x0 int k0 int Ie)4Ce) 1F/ori1FiLk91Fi==4

    i/a;k

  • 8/18/2019 Metoda Backtracking - Ppt

    41/75

    int main)oid4CcoutLL:ati numarul detari?FcinHHnF/ori1FiLnFi==4

    /or"1F"LnF"==4C

    cinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    42/75

  • 8/18/2019 Metoda Backtracking - Ppt

    43/75

    Pentru re+ol)area problemei se )or /olosi?k? )ariabil întreag care repre+int la al

    c,telea ora6 s9a a"uns al doilea0 altreilea...4x? )ector cu componente întregi0 cu

    proprietateac xk repre+int al k9lea ora6 din traseu

  • 8/18/2019 Metoda Backtracking - Ppt

    44/75

    Pentru a e)ita parcurgerea unui drum dedou ori0 se )a recurge la strategia de aatribui lui x1  )aloarea 10 adic toate

    drumurile s plece de la primul ora6. :inacest moti)0 xk∈C20S0nD pentru k∈C20S0nD.

    xx10x20S0xn4 unde xk∈C20S0nD 6i x110pentru k∈C20S0nD.

  • 8/18/2019 Metoda Backtracking - Ppt

    45/75

    !servaţie' Pentru repre+entarea gra/ului se)a/olosi matricea e adiacenţă de7nit ast/el?

    ai0"10 dac exist drum între ora6ele i 6i "ai0"-0 dac nu exist drum între ora6ele i 6i "

  • 8/18/2019 Metoda Backtracking - Ppt

    46/75

    Exemplu' pentru 'arta demai "os0

    #

    3

    4

    5

    6

    matricea deadiacenţ este?

      

        

     

     

     

     

    =

    ''###''###

    ##'''

    ##''#

    ##'#'

     A

  • 8/18/2019 Metoda Backtracking - Ppt

    47/75

    ,oncluii?Bntre ora6ele k 6i i exist drum dac ak0i1

    6i ai0k140 deci între ora6ele xk 6i xi existdrum dac a;xk

  • 8/18/2019 Metoda Backtracking - Ppt

    48/75

    ,omentarii la $uncţia /alid?Trebuie )eri7cat dac?

    9 exist drum între ora6ele xk91 6i xk adictrebuie de )eri7cat dac a;xk91

  • 8/18/2019 Metoda Backtracking - Ppt

    49/75

    Programul

    includeLiostream.'HincludeLmat'.'H

    tNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    50/75

  • 8/18/2019 Metoda Backtracking - Ppt

    51/75

    )oid )alidsir x0 int k0 int Ie)4Ce) 1Fi/a;x;k91

  • 8/18/2019 Metoda Backtracking - Ppt

    52/75

    )oid a7ssir x0int k4C

    int iF/ori1FiLkFi==4coutLLx;i

  • 8/18/2019 Metoda Backtracking - Ppt

    53/75

    int main)oid4CcoutLL:ati numarul de orase?FcinHHnF

    /ori1FiLnFi==4/or"1F"LnF"==4

    CcinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    54/75

    G'ilekH14C

    doC

    succx0k0as4F

    i/as4 )alidx0k0e)4FDG'ileasIIJe)4Fi/as4

    i/kn4 a7sx0k4Felse

    C kk=1Fx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    55/75

    Pentru exemplul dat mai sus0 si matriceade adiacenţ corespun+toare0 drumurileposibile sunt?

    1 2 ! 3 #

    1 2 # 3 !1 ! 3 # 21 # 3 ! 2

    #

    3

    4

    5

    6

    %ro!lema plăţii unei sume s

  • 8/18/2019 Metoda Backtracking - Ppt

    56/75

    %ro!lema plăţii unei sume sutilind m tipuri de

    monede 5e dau suma s si m tipuri de monedea),nd )alorile a10 a20 ...0 am lei. 5e certoate modalitţile de plat a sumei s

    utili+,nd aceste monede.

    Za trebui s se genere+e toţi )ectorii de/orma x10...xm40 care )eri7c relaţia?

    x1[a1=x2[a2=...=xm[am5

  • 8/18/2019 Metoda Backtracking - Ppt

    57/75

    :in aceast relaţie se poate )edea c?x1 poate lua )alori între - 6i n1

    x2 poate lua )alori între - 6i n2

    ......................................................xk poate lua )alori între - 6i nk

    .......................................................

    xm poate lua )alori între - 6i nm

    Trebuie s se determine elementele mulţimii?Cx10S0xmDU xk∈C-0S0mD unde k10S0m 6i x1[a1=x2[a2=...

    =xm[am5

    #a

    ma

    k a

    3a

  • 8/18/2019 Metoda Backtracking - Ppt

    58/75

    Exemplu? 53F m20 a;1

  • 8/18/2019 Metoda Backtracking - Ppt

    59/75

  • 8/18/2019 Metoda Backtracking - Ppt

    60/75

    %rogramul 

    includeLiostream.'HtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    61/75

    )oid succsir x0 int k0 int Ias4Ci/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    62/75

    )oid )alidint Ie)4C

    e) 1FD

  • 8/18/2019 Metoda Backtracking - Ppt

    63/75

    )oid a7ssir x0int k4Cint i0s1Fs1-F

    /ori1FiLkFi==4s1s1=x;i

  • 8/18/2019 Metoda Backtracking - Ppt

    64/75

    int main)oid4CcoutLL:ati )aloarea sumei?F cinHH5FcoutLL:ati numarul monedelor mF cinHHmF

    coutLL:ati )alorile celor LLmLL monede? F/ori1FiLmFi==4

    CcinHHa;i

  • 8/18/2019 Metoda Backtracking - Ppt

    65/75

    G'ilekH-4C

    doC

    succx0k0as4Fi/as4 )alide)4F

    DG'ileasIIJe)4Fi/as4

    i/km4 a7sx0k4Felse

    Ckk=1Fx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    66/75

    actracking recursi)

    )oid backint k4C

    i/solutiek44 a7sx0k4Felse

    Cx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    67/75

    2. Quncţia succ )eri7c dac mai sunt elemente în 5k.3. Quncţia valid )eri7c dac sunt satis/cute condiţiile

    de continuare!. Quncţia a"# a76ea+ o soluţie re+ultat

    #. Quncţia soluţie returnea+1 dac pe ni)elul k s9a a"uns la soluţie- dac pe ni)elul k nu s9a a"uns la soluţie

    Bn general /uncţia soluţie se de7ne6te ast/el?int soluţieint k4C

    returnkn=14D

    Permutri recursi)

  • 8/18/2019 Metoda Backtracking - Ppt

    68/75

    Permutri recursi)/uncţia succ

    includeLiostream.'HtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    69/75

    /uncţiile )alid 6i a76

    )oid )alidsir x0 int k0 intIe)4Cint iFe)1F

    /ori1F iLk91Fi==4i/Jx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    70/75

    /uncţia back

    )oid backint k4Ci/ kn=14 a7sx0k4Felse

    Cx;k

  • 8/18/2019 Metoda Backtracking - Ppt

    71/75

    programul principal

    int main)oid4CcoutLLnFcinHHnFback14F

    D

  • 8/18/2019 Metoda Backtracking - Ppt

    72/75

    Aran"amente - recursi)

    includeLiostream.'HtNpede/ int sir;1--

  • 8/18/2019 Metoda Backtracking - Ppt

    73/75

    Quncţiile )alid 6i a76

    )oid )alidsir x0 int k0 intIe)4Cint iFe)1F/ori1F iLk91Fi==4

    i/x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    74/75

    Quncţia back

    )oid backint k4Ci/ km=14 a7sx0k4Felse

    C

    x;k

  • 8/18/2019 Metoda Backtracking - Ppt

    75/75

    programul principal

    int main)oid4CcoutLLnFcinHHnFcoutLLmFcinHHmFback14FD