denis_andrei10

Untitled

Nov 25th, 2021
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. ifstream fin("anagrame1.in");
  4. ofstream fout("anagrame1.out");
  5. char s[105], ap[105], n;
  6. char v[105];
  7. void afisare()
  8. {
  9. for(int i=0; i<=n; i++)
  10. {
  11. fout<<s[i];
  12. }
  13. fout<<endl;
  14. }
  15. bool solutie(int k)
  16. {
  17. return k==n;
  18. }
  19. bool corect(int k)
  20. {
  21. for(int i=1; i<=k-1; i++)
  22. {
  23. if(s[k]==s[i])
  24. {
  25. return 0;
  26. }
  27. }
  28. return 1;
  29. }
  30. void Backtracking(int k)
  31. {
  32. for(int i='a'; i<='z'; i++)
  33. {
  34. if(ap[i]>0)
  35. {
  36. s[k]=i;
  37. ap[i]--;
  38. if(corect(k))
  39. {
  40. if(solutie(k))
  41. {
  42. afisare();
  43. }
  44. else
  45. {
  46. Backtracking(k+1);
  47. }
  48. }
  49. ap[i]++;
  50. }
  51. }
  52. }
  53. int main()
  54. {
  55. int i;
  56. fin>>v;
  57. n=strlen(v)-1;
  58. for(i=0; i<=n; i++)
  59. {
  60. ap[v[i]]++;
  61. }
  62. Backtracking(0);
  63. return 0;
  64. }
  65.  
Advertisement
Add Comment
Please, Sign In to add comment