Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- ifstream fin("anagrame1.in");
- ofstream fout("anagrame1.out");
- char s[105], ap[105], n;
- char v[105];
- void afisare()
- {
- for(int i=0; i<=n; i++)
- {
- fout<<s[i];
- }
- fout<<endl;
- }
- bool solutie(int k)
- {
- return k==n;
- }
- bool corect(int k)
- {
- for(int i=1; i<=k-1; i++)
- {
- if(s[k]==s[i])
- {
- return 0;
- }
- }
- return 1;
- }
- void Backtracking(int k)
- {
- for(int i='a'; i<='z'; i++)
- {
- if(ap[i]>0)
- {
- s[k]=i;
- ap[i]--;
- if(corect(k))
- {
- if(solutie(k))
- {
- afisare();
- }
- else
- {
- Backtracking(k+1);
- }
- }
- ap[i]++;
- }
- }
- }
- int main()
- {
- int i;
- fin>>v;
- n=strlen(v)-1;
- for(i=0; i<=n; i++)
- {
- ap[v[i]]++;
- }
- Backtracking(0);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment