Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <cstring>
- using namespace std;
- ifstream fin("anagrame1.in");
- ofstream fout("anagrame1.out");
- int n, m, sol[20], i, k, c, nr[21];
- char s[20];
- int eValid(int k);
- void afis();
- int cmmdc(int a, int b);
- void back(int k);
- int main()
- {
- fin>>s;
- n=strlen(s);
- for(int i=0;i<n-1;i++)
- for(int j=i+1;j<n;j++)
- if(s[i]>s[j])
- {
- char aux=s[i];
- s[i]=s[j];
- s[j]=aux;
- }
- back(1);
- //cout<<c;
- return 0;
- }
- void back(int k)
- {
- if(k>n)
- afis();
- else
- for(int i=0;i<=n-1;i++)
- {
- sol[k]=i;
- if(eValid(k))
- back(k+1);
- }
- }
- int eValid(int k)
- {
- for(i=1;i<k;i++)
- if(sol[k]==sol[i])
- return 0;
- /*for(int i=2;i<=k;i++)
- if(cmmdc(nr[sol[i]], nr[sol[i-1]])!=1)*/
- //return 0;
- return 1;
- }
- void afis()
- {
- for(int i=1;i<=n;i++)
- fout<<s[sol[i]];
- fout<<endl;
- c++;
- }
- int cmmdc(int a, int b)
- {
- int r;
- while(b)
- {
- r=a%b;
- a=b;
- b=r;
- }
- return a;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement