saritura calului
DESCRIPTION
SARITURA CALULUI. Plesea Ioana. Vosganian Armine. Nesulescu Simona. 11R2. Ce stim despre aceasta metoda??. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/1.jpg)
![Page 2: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/2.jpg)
Ce Ce
stim stim
despredespre
aceasta aceasta
metoda??metoda??
![Page 3: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/3.jpg)
Deseori în practică trebuie să rezolvăm probleme care Deseori în practică trebuie să rezolvăm probleme care au un număr foarte mare de soluţii posibile. De cele mai au un număr foarte mare de soluţii posibile. De cele mai multe ori însă, nu ne interesează toate soluţiile, ci numai o multe ori însă, nu ne interesează toate soluţiile, ci numai o parte dintre ele, care îndeplinesc anumite condiţii specifice parte dintre ele, care îndeplinesc anumite condiţii specifice problemei. Pentru astfel de probleme este indicată folosirea problemei. Pentru astfel de probleme este indicată folosirea metodei backtrackingmetodei backtracking care evită generarea soluţilor inutile. care evită generarea soluţilor inutile.
DesigurDesigur,, o persoană cu o gândire simplistă ar putea o persoană cu o gândire simplistă ar putea spune: „generăm toate soluţiile, apoi le alegem pe cele care spune: „generăm toate soluţiile, apoi le alegem pe cele care îndeplinesc condiţiile cerute”. Foarte simplu, dar... oare şi îndeplinesc condiţiile cerute”. Foarte simplu, dar... oare şi eficient? Ce rost ar avea să se genereze nişte soluţii care eficient? Ce rost ar avea să se genereze nişte soluţii care oricum nu convin? Din punctul de vedere al timpului necesar oricum nu convin? Din punctul de vedere al timpului necesar calculatorului pentru a obţine toate soluţiile, cât de realistă calculatorului pentru a obţine toate soluţiile, cât de realistă este o astfel de abordare? este o astfel de abordare?
![Page 4: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/4.jpg)
Prima ideePrima idee,, pe care trebuie să o reţinem ar pe care trebuie să o reţinem ar fi: nu se generează toate soluţiile posibile, ci fi: nu se generează toate soluţiile posibile, ci numai acelea care îndeplinesc anumite condiţii numai acelea care îndeplinesc anumite condiţii specifice problemei, numite specifice problemei, numite condiţii de validarecondiţii de validare . .
Soluţiile problemei vor fi generate succesiv Soluţiile problemei vor fi generate succesiv într-o stivă implementată sub forma unui vector într-o stivă implementată sub forma unui vector pe care îl vom nota pe care îl vom nota stst..
![Page 5: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/5.jpg)
![Page 6: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/6.jpg)
De De cece
ne-am ne-am propuspropus sa sa
rezolvam rezolvam aceastaaceasta problema??problema??
Deci, (n-ar trebui sa incepem cu deci) dar…ce ni s-a Deci, (n-ar trebui sa incepem cu deci) dar…ce ni s-a parut interesant a fost cat de simplu ti se poate arata in parut interesant a fost cat de simplu ti se poate arata in cateva secunde un lucru ce manual ar fi durat cateva ore cateva secunde un lucru ce manual ar fi durat cateva ore cel putin, adica: jocul de sah este unul de strategie, ce cel putin, adica: jocul de sah este unul de strategie, ce implica rabdare si concentrare maxima. Scopul este acela implica rabdare si concentrare maxima. Scopul este acela de a-ti detrona adversarul prin sah mat( ii ciordesti de a-ti detrona adversarul prin sah mat( ii ciordesti regeleregele). Calul, care, in cazul nostru, cam sare, este o ). Calul, care, in cazul nostru, cam sare, este o piesa foarte importanta. Nu stiu exact de ce, dar vrea sa se piesa foarte importanta. Nu stiu exact de ce, dar vrea sa se mute doar in L. Sincer, n-am stiut niciodata cate posibilitati mute doar in L. Sincer, n-am stiut niciodata cate posibilitati de mutare exista. Ce-i drept, nici nu ne-a preocupat. Cand de mutare exista. Ce-i drept, nici nu ne-a preocupat. Cand am auzit prima data de aceasta problema, am evitat-o, am auzit prima data de aceasta problema, am evitat-o, alegand colorarea hartii. Soarta a decis pentru noi si uite alegand colorarea hartii. Soarta a decis pentru noi si uite cum am ajuns sa explicam de ce calul sare si de cate ori. cum am ajuns sa explicam de ce calul sare si de cate ori.
![Page 7: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/7.jpg)
Ce vrem
sa stim??
Nu stim exact cum sa raspundem la aceasta intrebare. Ce cred ca am vrut sa stim este, din curiozitate, cam cate solutii ar fi. Cand am vazut, de fapt, cate mutari include o solutie, in care tabla de sah are 5 linii si 5 coloane, am incercat si pentru n=6 si asa mai departe.
Am crezut ca ne-am terminat treaba, dar nu. Am inteles apoi ca prima solutie nu este, nicidecum,ultima. Fiecare solutie are schema ei. Daca o modifici, se modifica si coordonatele fiecarei mutari si, uite asa, ai cu totul alte mutari si,evident, alta solutie. Ni s-a parut amuzant
![Page 8: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/8.jpg)
Fiind dată o tablă de şah de dimensiunea n x n şi un cal în colţul stânga
sus al acesteia, se cere să se afişeze toate posibilităţile de mutare a acestei
piese de şah astfel încât să treacă o singură dată prin fiecare pătrat altablei. O soluţie va fi afişată ca o matrice n x n în care sunt
numerotatesăriturile calului.
Exemplu, pentru n=5, o soluţie este
1 14 9 20 2310 19 22 15 8 5 2 13 24 2118 11 4 7 16 3 6 17 12 25
Pentru rezolvarea acestei probleme vom codifica direcţiile de deplasare
pentru că ar fi ineficient să scriem două cicluri for de la 2 la 2 cu cele 25 de
variante de deplasare din care valide sunt doar opt. De asemenea aici spre
deosebire de celelalte probleme tratate la aplicarea metodei backtracking în
plan nu vom folosi un vector soluţie, ci vom scrie săriturile în tablouurmărind ca la revenire să refacem poziţiile ocupate pentru a nu se luablocaje.
![Page 9: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/9.jpg)
![Page 10: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/10.jpg)
![Page 11: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/11.jpg)
![Page 12: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/12.jpg)
![Page 13: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/13.jpg)
![Page 14: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/14.jpg)
![Page 15: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/15.jpg)
![Page 16: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/16.jpg)
![Page 17: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/17.jpg)
![Page 18: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/18.jpg)
![Page 19: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/19.jpg)
![Page 20: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/20.jpg)
![Page 21: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/21.jpg)
![Page 22: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/22.jpg)
![Page 23: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/23.jpg)
![Page 24: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/24.jpg)
![Page 25: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/25.jpg)
![Page 26: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/26.jpg)
![Page 27: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/27.jpg)
![Page 28: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/28.jpg)
![Page 29: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/29.jpg)
![Page 30: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/30.jpg)
![Page 31: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/31.jpg)
![Page 32: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/32.jpg)
![Page 33: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/33.jpg)
Sursaexecutabil
![Page 34: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/34.jpg)
#include<iostream.h>#include<stdlib.h>#include<iomanip.h>#include<conio.h>
const int x[8]={-1,1,2,2,1,-1,-2,-2};const int y[8]={ 2,2,1,-1,-2,-2,-1,1};int n, sol[1000][2],t[25][25],c, tabla[10][10];;Void back( int k,int lin,int col){ int linie,coloana,i,j;
if(k==n*n) { sol[k][0]=lin; sol[k][1]=col; for(i=1;i<=k;i++) { cout<<"mutarea nr."<<i<<" este la coordonatele"<<"("<<sol[i][0]<<","<<sol[i][1]<<")"<<endl; tabla[sol[i][0]][sol[i][1]]=i; }
![Page 35: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/35.jpg)
c++; //numara solutiile
cout<<endl<<"varianta "<<c<<" este"<<endl<<endl;
for(i=1;i<=n;i++)
{ for(j=1;j<=n;j++)
cout<<setw(4)<<tabla[i][j];
cout<<endl;
}
cout<<endl;
getch();
if(c==3)
exit(EXIT_SUCCESS);
}
![Page 36: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/36.jpg)
else sol[k][0]=lin; sol[k][1]=col; for(i=0;i<=7;i++) { linie=lin+x[i];
coloana=col+y[i]; if(linie<=n &&
linie>=1 && coloana<=n && coloana>=1 && t[linie][coloana]==0)
{ t[linie]
[coloana]=1;
back(k+1,linie,coloana); t[linie]
[coloana]=0; } } }}
void main(){ clrscr(); cout<<"n="; cin>>n; t[1][1]=1; //ocup prima pozitie back(1,1,1);
}
![Page 37: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/37.jpg)
Ce am invatat??
Sa vedem…in primul rand…cum sa lucram in echipa, desi, la inceput am lucrat pe cont propriu, apoi cate doua, si, in final, toate. Amuzant, nu? A fost greu sa ne impartim sarcinile,mai ales ca Simonei nu ii functiona Power Point-ul si lui Armine C++, Ioanei ii functionau amandoua, dar nu aveam cum sa mergem la ea, asa ca a fost cam complicat. Pana la urma,ne-am decis. Simona cu Armine au cautat pozele si s-au chinuit cu executabilul ala, iar Ioana s-a ocupat cu artificiile din Power Point si de animatii. De text, in schimb, ne-am ocupat toate trei. Am invatat mai multe despre metoda backtracking, evident, si am inteles cum sare calul pe 2 picioruse. A fost greu, dar, ne amagim singure ca am dus la capat misiunea
![Page 38: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/38.jpg)
Cu
ce
ramanem??
Sincer, putem spune ca ne-am imbunatatit cunostintile in domeniul Power Point-ului si, cat de cat, in cel al C++. Totodata, ne-am bucurat de orele frumoase petrecute impreuna, lucru care nu s-a mai intamplat de cand am terminat filmul, cunoscut deja de majoritatea colegilor .
In concluzie, proiectele la info, pentru noi acesta fiind al doilea, leaga prietenii !!!
![Page 39: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/39.jpg)
Referate.educativ.ro/referatat-Metoda-Backtracking.html,
Manualul si cam atat
![Page 40: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/40.jpg)
![Page 41: SARITURA CALULUI](https://reader033.vdocuments.mx/reader033/viewer/2022061608/56814593550346895db28356/html5/thumbnails/41.jpg)