1 / 21

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

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 .

dyami
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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.

  3. 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.

  4. 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.

  5. - 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.

  6. -Ș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.

  7. - 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?

  8. Există mai multe modalități de a reprezenta un graf: • 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 • 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

  9. Vectorul de muchii: se definește o structurăcudouăvaloriîntregireprezentate de celedouăextremități . • Matriceadrumurilor: se definește astfel: a[i][j] este egalcu 1 dacă există drum de la i la j și 0 în caz contrar. • Matricea ponderilor

  10. - 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.

  11. - 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.

  12. - Ș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.

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

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

  15. - 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!

  16. 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.

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

  18. - 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!

  19. #include<iostream.h> int a[100][100],k,st[100],n,p=0,b,c; void citire() { cin>>n>>b>>c; for(inti=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j];} void init(int k){ st[k]=0;} intsuccesor(int k) { if(st[k]<n) { st[k]++; return 1;} else return 0;} int valid(int k){ if(k>1) for(inti=1;i<k;i++) if(st[k]==st[i]) return 0; for(inti=2;i<=k;i++) if(a[st[k-1]][st[k]]==0) return 0; return 1;} intsolutie(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;}

  20. Sfârșit

  21. Proiect realizat de:Balan Simona MarianaCrăciun Roxana IonelaGrofu Cristina VictoriaNiculescu Mirel AlexandruVasiloiu Alexandra Gabriela

More Related