Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement