fork download
  1.  
  2. //bkt recursiv
  3. //3 combinatii
  4. // Cerinta: un antrenor de dans are in echipa n = 7 fete si m = 5 baieti in cate moduri poate forma k = 3 perechi pentru a reprezenta scoala la un concurs
  5. // Combinari de 7 luate cate 3 fete
  6. #include <iostream>
  7.  
  8. using namespace std;
  9.  
  10. int n ,st[100],k;
  11.  
  12. int bun(int pas)
  13. {
  14. int i;
  15. return (st[pas]>st[pas-1]);
  16. }
  17.  
  18. int sol(int pas)
  19. {
  20. return pas==k;
  21. }
  22.  
  23. void afisare()
  24. {
  25. int i;
  26. for(i=1;i<=k;i++)
  27. cout<< st[i];
  28. cout << endl;
  29. }
  30.  
  31. void BKT(int pas)
  32. {
  33. int i;
  34. for (i=1;i<=n;i++)
  35. {
  36. st[pas]=i;
  37. if (bun(pas))
  38. if (sol(pas))afisare();
  39. else BKT(pas+1);
  40. }
  41. }
  42.  
  43. int main()
  44. {
  45. n=3;
  46. k=2;
  47. BKT(1);
  48. return 0;
  49. }
  50.  
Success #stdin #stdout 0.01s 5324KB
stdin
Standard input is empty
stdout
12
13
23