SHARE
TWEET

Untitled

a guest Nov 15th, 2019 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7. ifstream fin("anagrame1.in");
  8. ofstream fout("anagrame1.out");
  9.  
  10. int n, m, sol[20], i, k, c, nr[21];
  11. char s[20];
  12. int eValid(int k);
  13. void afis();
  14. int cmmdc(int a, int b);
  15. void back(int k);
  16.  
  17. int main()
  18. {
  19.   fin>>s;
  20.   n=strlen(s);
  21.  
  22.     for(int i=0;i<n-1;i++)
  23.         for(int j=i+1;j<n;j++)
  24.             if(s[i]>s[j])
  25.             {
  26.                 char aux=s[i];
  27.                 s[i]=s[j];
  28.                 s[j]=aux;
  29.             }
  30.   back(1);
  31.   //cout<<c;
  32.   return 0;
  33. }
  34. void back(int k)
  35. {
  36.     if(k>n)
  37.         afis();
  38.     else
  39.         for(int i=0;i<=n-1;i++)
  40.         {
  41.             sol[k]=i;
  42.             if(eValid(k))
  43.                 back(k+1);
  44.         }
  45. }
  46. int eValid(int k)
  47. {
  48.     for(i=1;i<k;i++)
  49.         if(sol[k]==sol[i])
  50.             return 0;
  51.     /*for(int i=2;i<=k;i++)
  52.         if(cmmdc(nr[sol[i]], nr[sol[i-1]])!=1)*/
  53.             //return 0;
  54.     return 1;
  55. }
  56. void afis()
  57. {
  58.     for(int i=1;i<=n;i++)
  59.         fout<<s[sol[i]];
  60.     fout<<endl;
  61.     c++;
  62. }
  63. int cmmdc(int a, int b)
  64. {
  65.     int r;
  66.     while(b)
  67.     {
  68.         r=a%b;
  69.         a=b;
  70.         b=r;
  71.     }
  72.     return a;
  73. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top