Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdlib.h>
- using namespace std;
- void init(int k);
- void tipar();
- int esteValid(int k);
- int existaSuccesor(int k);
- int solutie(int k);
- int x[100], nrsolutii = 0, n;
- int main()
- {
- int k = 1;
- init(1);
- cout << "Cate cadouri sunt: " << endl;
- cin >> n;
- while(k > 0)
- {
- if (existaSuccesor(k))
- {
- x[k]++;
- if(esteValid(k))
- if(solutie(k))
- tipar();
- else
- {
- k++;
- init(k);
- }
- }
- else
- k--;
- }
- cout << "Nr de solutii este: " << nrsolutii << endl;
- return 0;
- }
- void init(int k)
- {
- x[k] = -1;
- }
- int esteValid(int k)
- {
- return 1;
- }
- int existaSuccesor(int k)
- {
- return x[k] < 1;
- }
- int solutie(int k)
- {
- return k == n;
- }
- void tipar()
- {
- nrsolutii++;
- for(int i = 1; i <= n; i++)
- if(x[i])
- cout << i << " ";
- cout << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement