Advertisement
a53

ProdusCartezian2

a53
Feb 4th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3. #define MAX 10
  4. ifstream fin("produscartezian2.in");
  5. ofstream fout("produscartezian2.out");
  6. int x[MAX],nr[MAX],n,i,k;
  7. void init(int k)
  8. {
  9. x[k]=0;
  10. }
  11. int succesor(int k)
  12. {
  13. if (x[k]<nr[k]) return 1;
  14. else return 0;
  15. }
  16. int continuare(int k)
  17. {
  18. if (k<n+1) return 1;
  19. return 0;
  20. }
  21. int solutie(int k)
  22. {
  23. if (k==n+1) return 1;
  24. else return 0;
  25. }
  26. void afisare()
  27. {
  28. int i;
  29. for (i=1;i<=n;i++)
  30. fout<<x[i]<<' ';
  31. fout<<'\n';
  32. }
  33. void backtracking()
  34. {
  35. int k;
  36. k=1; init(1);
  37. while (k!=0)
  38. if (solutie(k))
  39. {afisare(); k--;}
  40. else
  41. if (succesor(k))
  42. {
  43. x[k]++;
  44. if (continuare(k)) k++;
  45. }
  46. else {init(k); k--;}
  47. }
  48. int main()
  49. {
  50. fin>>n;
  51. for (i=1;i<=n;i++)
  52. fin>>nr[i];
  53.  
  54. backtracking();
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement