Advertisement
CosminVarlan

Schelet BKT

Sep 12th, 2018
2,415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.03 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int sol[20], n=5, el_maxim=2 ;
  6.  
  7. int verifica(int poz)
  8. {
  9.     return 1;
  10. }
  11.  
  12. void afiseaza()
  13. {
  14.     for (int i=0; i<n; i++)
  15.         cout << sol[i] << " ";
  16.     cout << endl;
  17. }
  18.  
  19.  
  20. // ---=== ceea ce e important incepe de aici: ===---
  21. void bkt(int poz)   // generez elementul de pe pozitia poz
  22. {
  23.     if (poz==n) afiseaza(); // daca cumva este ultimul element (pozitiile sunt de la 0 la n-1 si cand ajung la n inseamna ca am depasit deja - de la 0 la n-1 au fost deja generate corect)
  24.     else // altfel incerc sa generez elementul de pe pozitia poz
  25.         for(int i=0; i<el_maxim; i++) // parcurg spatiul de valori posibile pentru pozitia poz: de la 0 pana la el_maxim
  26.         {
  27.             sol[poz]=i; // pun in solutie, pe pozitia poz valoarea nou generata
  28.             if(verifica(poz)) // verific daca elementul nou adaugat este ok pe acea pozitie
  29.                 bkt(poz+1);   // si daca e ok, trec la urmatoarea pozitie
  30.         }
  31. }
  32.  
  33. int main()
  34. {
  35.     bkt(0);
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement