Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int v[10], n=4;
- void init (int k){
- v[k]=0;
- }
- int solutie (int k, int p){
- return k==p;
- }
- int valid (int k){
- if (k>=1 && v[k-1]>v[k])
- return 0;
- return 1;
- }
- int existaSuccesor (int k){
- if (v[k]<n){
- v[k]++;
- return 1;
- }
- return 0;
- }
- // {2, 6, 9, 3}
- void tipar (int p){
- for (int i=1; i<=p; i++){
- if (v[i]==1) cout<<"2";
- if (v[i]==2) cout<<"6";
- if (v[i]==3) cout<<"9";
- if (v[i]==4) cout<<"3";
- }
- cout<<endl;
- }
- void back (int k, int p){
- if (solutie (k, p)) tipar (p);
- else{
- init (k);
- while (existaSuccesor(k)){
- if (valid(k)) back (k+1, p);
- }
- }
- }
- int main()
- {
- for (int i=1; i<=4; i++){
- back (1, i);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement