generati toate permutarile unei multimi in care 2 nr vecine nu trebuie sa fi
e ambele pare sau impare //2.se citesc n cifre distincte .sa se genereze toate nr de m cifre m<=n si care contin toate cele n //cifre ca //3.se se genereze toate submultimile de p elem dintr-o multime cu n elem cu pro p ca elem submult //generate sunt nr pare #include <iostream> using namespace std; int a[100]; void scrie(int x[],int n,int a[]) { int i; for(i=1;i<=n;i++) cout<<a[x[i]]<<" "; cout<<endl; } int posibilBUN(int x[],int k,int a[]) { int i; if(k>1 && a[x[k-1]]%2==a[x[k]]%2) return 0; for(i=1;i<k;i++) if(a[x[k]]==a[x[i]]) return 0; return 1; } int main() { int n,x[100],k,gasit,i; cin>>n; for(i=1;i<=n;i++) cin>>a[i]; k=1; x[k]=0; while(k>0) { gasit=0; while(x[k]<n && gasit==0) { x[k]++; gasit=posibilBUN(x,k,a); } if(gasit==1) if(k==n) scrie(x,n,a); else { k++; x[k]=0; } else k--; } }