9
Backtracking - BALL “Rolling all around” Producers: Butucea Butucea Coman Coman Petrova Petrova n n Ana Antonia Johana

Backtracking - BALL “Rolling all around”

  • Upload
    tim

  • View
    70

  • Download
    2

Embed Size (px)

DESCRIPTION

Backtracking - BALL “Rolling all around”. Producers: Butucea Coman Petrovan. Ana. Antonia. Johana. Backtracking. Manipularea timpului. Cel mai fericit om este acela care traieste in prezent....insa trecutul sta la baza unui prezent sigur!. - PowerPoint PPT Presentation

Citation preview

Page 1: Backtracking - BALL “Rolling all around”

Backtracking - BALL“Rolling all around”

Producers:

ButuceaButucea

Coman Coman

PetrovaPetrovann

Ana

Antonia

Johana

Page 2: Backtracking - BALL “Rolling all around”

Backtracking Backtracking

Cel mai fericit om este acela care traieste in prezent....insa trecutul sta la baza unui prezent sigur!

Spre deosebire de realitatea ce ne inconjoara , backtracking-ul aduce o idee originala la care multi dintre noi

visam si anume schimbarea trecutului cu scopul de a aduce un viitor

benefic…

Backtracking-ul permite reintoarcerea la un nivel inferior

pentru rezolvarea solutiei!

Manipularea timpuluiManipularea timpului

Page 3: Backtracking - BALL “Rolling all around”

De ce problema Bilei?...

Putem asocia principiile acestei probleme cu cele ale vietii cotidiene…

Constransi de situatiile dificile ale vietii, invatam sa le depasim urmand anumite drumuri cu un grad mai mic de dificultate.

De ce nu…?

Page 4: Backtracking - BALL “Rolling all around”

Problema BILEI

Se da un teren sub forma de matrice cu n linii si m coloane. Fiecare element al matricei reprezinta

un subteren cu o anumita altitudine data de valoarea retinuta de element(nr. natural). Intr-un

astfel de subteren de coordonate (lin,col) se gaseste o bila. Stiind ca bila se poate deplasa in

orice portiune de teren aflata la N-E-S-V, de altitudine strict inferioara portiunii pe care se

gaseste bila; se cere sa se gaseasca toate posibilitatile ca bila sa paraseasca terenul…

Page 5: Backtracking - BALL “Rolling all around”

-pentru rezolvarea problemei este necesara utilizarea unei matrici.

-elementele matricei sunt preluate dintr-un fisier;

-initial bila va sta pe o pozitie (lin,col);

-neputandu-se deplasa decat in casutele cu un numar strict inferior, se verifica daca pozitiile N, E, S, V (in aceasta ordine) indeplinesc conditia;

-aceasta se repeta pana cand bila poate iesi din labirint.

Initial : (2,2) Solutii: (2,2) ; (2,3) ; (2,4)

(2,2) ; (2,3) ; (3,3) ; (3,4) ; (2,4)

(2,2) ; (2,3) ; (3,3) ; (3,4)

(2,2) ; (2,3) ; (3,3) ; (3,4) ; (4,4)

Page 6: Backtracking - BALL “Rolling all around”

Problema Bilei \ C++

#include<fstream.h>#include<conio.h>#include<graphics.h>#include<stdlib.h>int sol[100][3],t[10][10],m,n,i,j,lin,col,p=50,r=50,x,y;void tipar(int k){cout<<"SOLUTIE "<<endl; for(i=1;i<k;i++) cout<<sol[i][1]<<" "<<sol[i][2]<<endl;}void back(int k,int lin,int col){if(lin==0||lin==m+1||col==0||col==n+1) tipar(k); else {sol[k][0]=0; sol[k][1]=lin; sol[k][2]=col; while(sol[k][0]<4) {sol[k][0]++; switch(sol[k][0]) {case 1:if(t[lin-1][col]<t[lin][col]) back(k+1,lin-1,col);break; case 2:if(t[lin][col+1]<t[lin][col]) back(k+1,lin,col+1);break; case 3:if(t[lin+1][col]<t[lin][col]) back(k+1,lin+1,col);break; case 4:if(t[lin][col-1]<t[lin][col]) back(k+1,lin,col-1);break; } } }}

main(){char s[100]; int gd=DETECT, gm; initgraph(&gd,&gm,"C:\\TC\\BGI"); cout<<"m=";cin>>m; cout<<"n=";cin>>n; ifstream f("bilutza.cpp"); for(i=0;i<m;i++) {for(j=0;j<n;j++) {x=i+j; if(x%2==0)setfillstyle(1,BLUE); else setfillstyle(1,CYAN); bar3d(100+r,100+p,r+140,p+140,0,0); f>>t[i][j];itoa(t[i][j],s,10); setcolor(BLACK); settextstyle(5,0,3);outtextxy(r+100,p+100,s); r=r+40; } p=p+40; r=50; }for(i=0;i<m;i++) for(j=0;j<n;j++) f>>t[i][j]; cout<<"lin=";cin>>lin; cout<<"col=";cin>>col; back(1,lin,col); getch();}

Page 7: Backtracking - BALL “Rolling all around”

BILUTA.EXEExecutabil:

Page 8: Backtracking - BALL “Rolling all around”

Ce am invatat?

Ce am castigat prin realizarea proiectului?

Am inteles problema “BILEI” si in ce consta utilizarea backtrackingului pentru realizarea problemei;

Am reusit sa cream o solutie a problemei in grafica in c++;

Am gasit o corelatie intre informatica si viata de zi cu zi;

Am reusit sa petrecem o zi intreaga impreuna reusind sa ne cunoastem mai bine descoperind si laturi amuzante si interesante ale informaticii;

Page 9: Backtracking - BALL “Rolling all around”

Bibliografie:

http://www.google.ro/images Manualul de informatica