21
Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

  • Upload
    dyami

  • View
    82

  • Download
    1

Embed Size (px)

DESCRIPTION

Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:. La împlinirea vârstei de 10 ani, Ash Ketchum din orașul Pallet, a fost informat de profesorul Oak că a venit vremea să devină un antrenor Pokemon . - PowerPoint PPT Presentation

Citation preview

Page 1: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor

din:

Page 2: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

La împlinirea vârstei de 10 ani, Ash Ketchum din orașul Pallet, a fost informat de profesorul Oak că a venit vremea să devină un antrenor Pokemon.

Page 3: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Prima sa misiune este aceea de a cauta toți pokemonii aflați pe drumurile dintre orașul inițial și orașul destinație și de a-i comunica profesorului numărul acestora. Însoțit de Pikachu, un pokemon prietenos , Ash a pornit într-o lungă călătorie plină de mister și pericole.

Page 4: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Micul antrenor era conștient de dificultatea misiunii, deoarece Echipa Rachetă se putea afla oriunde, pregatită să îl fure pe Pikachu. Deși sentimentele de teamă îl cuprinseseră, continuă să înainteze, dornic de reușită. Întâmplător, îl întâlnește pe Brock, unul din prietenii săi cei mai buni și îi destăinuie problema sa.

Page 5: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Hai, Ash, nu mai fi supărat! Te ajut eu. Cunosc foarte bine ascunzătorile Echipei Rachetă. O să iți fac o hartă ce iți va fi de folos. Dar, să fii atent...toate șoselele ce duc în orașul destinație au două sensuri de mers. Fiecare șosea începe cu un indicator ce iți arată sensul în care ai voie să te deplasezi.

Page 6: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

-Și cum o să realizezi acea hartă?-Simplu! O să mă folosesc de teoria grafurilor orientate, învățate la orele de informatică.-Ce sunt acelea grafuri orientate? întreabă Ash și Pikachu uimiți.

Page 7: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Un graf orientat reprezintă o pereche ordonată de mulțimi G=(X,U), unde X este o mulțime finită și nevidă, numită mulțimea nodurilor, și U este o mulțime formată din perechi ordonate de elemente ale lui X, numită mulțimea arcelor.- Prin ce sunt redate aceste grafuri?

Page 8: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Există mai multe modalități de a reprezenta un graf:1. Matricea de adiacență: este o

matrice pătratică de ordinul nxn, nesimetrică, pe diagonala principală nu exisă decât 0. a[i][j] are valoarea 1 dacă (Xi , Xj) ∈ U

2. Matricea de incidență: este o matrice cu n linii și m coloane și se definește astfel: a[i][j] este egal cu -1 dacă nodul I e extremitatea inițială pentru arcul j, 1 dacă nodul I este extremitate finală pentru arcul j, iar 0 în caz contrar

Page 9: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

3. Vectorul de muchii: se definește o structură cu două valori întregi reprezentate de cele două extremități .

4. Matricea drumurilor: se definește astfel: a[i][j] este egal cu 1 dacă există drum de la i la j și 0 în caz contrar.

5. Matricea ponderilor

Page 10: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Dar ce numești tu un „drum”?- Un drum este o succesiune de noduri cu proprietatea că oricare două noduri succesive sunt legate printr-un arc.Se ține seama de orientarea arcurilor, iar dacă nodurile sunt distincte se numește elementar.

Page 11: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Bine. Acum am înțeles ce este acela un graf orientat, cum se reprezintă, ce este un drum, dar tot nu înțeleg cum o să mă ajute pe mine.- Fii atent, după ce o să desenez harta, o să transform datele furnizate de ea într-o matrice de adiacență și pe aceasta o să o folosesc ca date de intrare pentru a realiza un program pe calculator care să-ți spună exact câte drumuri sunt.

Page 12: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Și o să-mi afișeze răspunsul corect, ești sigur de asta?- Foarte sigur! O să folosim metoda Backtraking care să genereze toate drumurile, dar care, în loc să le afișeze pe ecran, le va număra cu ajutorul unei variabil de tip contor, pe care o vom afișa la sfârșit, iar acela va fi răspunsul corect.

Page 13: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

-Cât de ușor pare. O să dureze mult să facem problema?-Dacă lucrăm împreună, nu!

Page 14: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

După foarte puțin timp, problema era terminată, datele de intrare au fost introduse, iar calculatorul a afișat răspunsul pe ecran.

Page 15: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Brock, ai avut dreptate, zise Ash, chiar funcționează. Mă bucur să am prieteni care chiar se pricep la informatică. Aș vrea să învăț și eu.- Dacă vrei întradevăr poți să vii săptămânal cu mine și cu Misty la orele de informatica și sunt sigur că o să înveți destul de repede, dar înainte de asta, ar trebui să te duci să-i duci răspunsul profesorului Oak.- Da, așa este!

Page 16: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Ash a ajuns la laboratorul profesorului care a fost uimit de timpul scurt de care a avut Ash nevoie să rezolve problema. I-a zis că este sigur că va deveni un antrenor bun, pentru că are prieteni pe care se poate baza și pentru că știe să folosească orice pentru a găsi răspunsurile potrivite în orice situație.

Page 17: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Între timp în bârlogul Echipei Racheta...

Page 18: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

- Iar au reușit puștii să câștige, dar nu-i nimic, o să mai fie și alte ocazii, iar data viitoare Echipa Rachetă va câștiga, iar Pikachu va fi al nostru!

Page 19: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

#include<iostream.h>int a[100][100],k,st[100],n,p=0,b,c;void citire(){ cin>>n>>b>>c;for(int i=1;i<=n;i++)

for(int j=1;j<=n;j++) cin>>a[i][j];}void init(int k) { st[k]=0;}int succesor(int k){ if(st[k]<n) { st[k]++; return 1;}

else return 0;} int valid(int k) { if(k>1)

for(int i=1;i<k;i++)if(st[k]==st[i]) return 0;for(int i=2;i<=k;i++)if(a[st[k-1]][st[k]]==0) return 0;return 1;}

int solutie(int k){ return st[k]==b;}

void tipar( int k) { p++;}

void bt(int k) { init(k);while(succesor(k)==1)

if(valid(k)==1)if(solutie(k)==1) tipar(k);else bt(k+1);}

int main() { citire();st[1]=c;

bt(2);cout<<p;}

Page 20: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Sfârșit

Page 21: Grafuri orientate pe înțelesul tuturor cu ajutorul personajelor din:

Proiect realizat de:Balan Simona MarianaCrăciun Roxana IonelaGrofu Cristina Victoria

Niculescu Mirel AlexandruVasiloiu Alexandra Gabriela