Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ===================================permutari_pfp=======================================
- #include <iostream>
- using namespace std;
- int n,st[20];
- bool valid(int k)
- {
- for (int i=1;i<k;i+=2)
- if (st[i]==st[k])
- return false;
- return true;
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- cout<<st[i]<<' ';
- cout<<'\n';
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i+=2)
- {
- st[k]=i;
- if (valid(k))
- if (n-k<2)
- afisare();
- else
- bck(k+2);
- }
- }
- int main()
- {
- cin>>n;
- for (int i=2;i<=n;i+=2)
- st[i]=i;
- bck(1);
- return 0;
- }
- ============================================anagrame_vocale==================================== 80p
- #include <iostream>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- char c[15],st[15];
- int n;
- void citire()
- {
- cin.get(c,20);
- n=strlen(c);
- sort(c,c+n);
- }
- bool vocala(char x)
- {
- if (x=='a' || x=='e' || x=='i' || x=='o' || x=='u')
- return true;
- return false;
- }
- bool valid(int k)
- {
- if (k<=n)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- return false;
- }
- bool solutie(int k)
- {
- if (k==n && vocala(st[1]) && vocala(st[k]))
- return true;
- return false;
- }
- void bck(int k)
- {
- for (int i=0;i<n;i++)
- {
- st[k]=c[i];
- if (valid(k))
- if (solutie(k))
- cout<<st+1<<'\n';
- else
- if (k<n)
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ===================================================anagrame_pfv=============================================
- #include <iostream>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- char c[15],cpy[15],st[15];
- int n;
- void citire()
- {
- cin.get(c+1,20);
- n=strlen(c+1);
- strcpy(cpy+1,c+1);
- sort(cpy+1,cpy+n+1);
- }
- bool vocala(char x)
- {
- if (x=='a' || x=='e' || x=='i' || x=='o' || x=='u')
- return true;
- return false;
- }
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- if (vocala(c[k]))
- {
- if (st[k]==c[k])
- return true;
- }
- else
- return true;
- return false;
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i++)
- {
- st[k]=cpy[i];
- if (valid(k))
- if (k==n)
- cout<<st+1<<'\n';
- else
- if (k<n)
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ==================================================anagrame4=========================================
- #include <iostream>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- char c[15],cpy[15],st[15];
- int n;
- void citire()
- {
- cin.get(c+1,20);
- n=strlen(c+1);
- strcpy(cpy+1,c+1);
- sort(cpy+1,cpy+n+1);
- }
- bool vocala(char x)
- {
- if (x=='a' || x=='e' || x=='i' || x=='o' || x=='u')
- return true;
- return false;
- }
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- if (!vocala(c[k]))
- {
- if (st[k]==c[k])
- return true;
- }
- else
- return true;
- return false;
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i++)
- {
- st[k]=cpy[i];
- if (valid(k))
- if (k==n)
- cout<<st+1<<'\n';
- else
- if (k<n)
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ===========================================================numere123============================================
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,v[15],st[15];
- void citire()
- {
- int x;
- cin>>x;
- while(x)
- {
- v[++n]=x%10;
- x/=10;
- }
- sort(v+1,v+n+1);
- }
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- cout<<st[i];
- cout<<'\n';
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i++)
- {
- st[k]=v[i];
- if (st[1]!=0)
- if (valid(k))
- if (k==n)
- afisare();
- else
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ================================================permutari5===================================
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,v[15],st[15],nmin=1000000005,imin;
- void citire()
- {
- cin>>n;
- for (int i=1;i<=n;i++)
- {
- cin>>v[i];
- if (v[i]<nmin)
- {
- nmin=v[i];
- imin=i;
- }
- }
- sort(v+1,v+n+1);
- }
- bool valid(int k)
- {
- if (k<imin || st[imin]==nmin)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- return false;
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- cout<<st[i]<<' ';
- cout<<'\n';
- }
- void bck(int k)
- {
- for (int i=1;i<=n;i++)
- {
- st[k]=v[i];
- if (valid(k))
- if (k==n)
- afisare();
- else
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ====================================================permrep===================================================
- #include <fstream>
- #include <cstring>
- #include <algorithm>
- using namespace std;
- ifstream f("permrep.in");
- ofstream g("permrep.out");
- int n;
- char st[100],v[126];
- void citire()
- {
- char x;
- while (f>>x)
- {
- v[x]++;
- n++;
- }
- }
- bool valid(int k)
- {
- int p=1;
- for(int i=1;i<k;i++)
- if(st[i]==st[k])
- p++;
- if (p>v[st[k]])
- return 0;
- return 1;
- }
- void tipar(int k)
- {
- for(int i=1;i<=k;i++)
- g<<st[i];
- g<<'\n';
- }
- void bck()
- {
- int k=1;
- st[k]=96;
- while(k>0)
- {
- bool ok=0;
- while(st[k]<122 && !ok)
- {
- st[k]++;
- ok=valid(k);
- }
- if (ok==1)
- if (n==k)
- tipar(k);
- else
- st[++k]=96;
- else
- k--;
- }
- }
- int main()
- {
- citire();
- bck();
- return 0;
- }
- ============================================numere124===========================================
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,nr,v[15],st[15];
- void citire()
- {
- int x;
- cin>>x>>n;;
- while(x)
- {
- v[++nr]=x%10;
- x/=10;
- }
- sort(v+1,v+nr+1);
- }
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- cout<<st[i];
- cout<<'\n';
- }
- void bck(int k)
- {
- for (int i=1;i<=nr;i++)
- {
- st[k]=v[i];
- if (st[1]!=0)
- if (valid(k))
- if (k==n)
- afisare();
- else
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- =============================================cifre_c===========================================
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,nr,v[15],st[15];
- void citire()
- {
- int x;
- cin>>x>>n;;
- while(x)
- {
- v[++nr]=x%10;
- x/=10;
- }
- sort(v+1,v+nr+1, greater<int>() );
- }
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k] || st[i]>st[i+1])
- return false;
- return true;
- }
- void afisare()
- {
- for (int i=1;i<=n;i++)
- cout<<st[i];
- cout<<'\n';
- }
- void bck(int k)
- {
- for (int i=1;i<=nr;i++)
- {
- st[k]=v[i];
- if (st[1]!=0)
- if (valid(k))
- if (k==n)
- afisare();
- else
- bck(k+1);
- }
- }
- int main()
- {
- citire();
- bck(1);
- return 0;
- }
- ===================================Submultimi===========================================
- #include <fstream>
- #include <algorithm>
- using namespace std;
- ifstream f("submultimi.in");
- ofstream g("submultimi.out");
- int n,st[15];
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- void afisare(int k)
- {
- for (int i=1;i<=k;i++)
- g<<st[i]<<' ';
- g<<'\n';
- }
- void bck(int k)
- {
- for (int i=st[k-1]+1;i<=n;i++)
- {
- st[k]=i;
- if (valid(k))
- {
- afisare(k);
- bck(k+1);
- }
- }
- }
- int main()
- {
- f>>n;
- bck(1);
- return 0;
- }
- ============================================Submultimi1===============================================
- #include <fstream>
- #include <algorithm>
- using namespace std;
- ifstream f("submultimi1.in");
- ofstream g("submultimi1.out");
- int n,st[15];
- bool valid(int k)
- {
- for (int i=1;i<k;i++)
- if (st[i]==st[k])
- return false;
- return true;
- }
- void afisare(int k)
- {
- for (int i=1;i<=k;i++)
- g<<st[i]<<' ';
- g<<'\n';
- }
- void bck(int k)
- {
- for (int i=st[k-1]+2;i<=n;i++)
- {
- st[k]=i;
- if (valid(k))
- {
- afisare(k);
- bck(k+1);
- }
- }
- }
- int main()
- {
- f>>n;
- st[0]=-1;
- bck(1);
- return 0;
- }
Add Comment
Please, Sign In to add comment