Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <algorithm>
- #include <cstring>
- using namespace std;
- ifstream fin("permrep.in");
- ofstream fout("permrep.out");
- int n,m,x[11],cnt,u[11];
- char s[10];
- void sortare (char *s)
- {
- for (int i=0;s[i+1];i++)
- for (int j=i+1;s[j];j++)
- if(s[i]>s[j])
- {
- char aux=s[i];
- s[i]=s[j];
- s[j]=aux;
- }
- }
- void solutie(int k)
- {
- for (int i=1;i<=k;i++)
- {
- fout<<s[x[i]];
- }
- fout<<endl;
- }
- bool ok (int k)
- {
- for (int i=1;i<k;i++)
- {
- if (s[x[k]]==s[x[i]] && x[k]<=x[i])
- return false;
- }
- return true;
- }
- void Back(int k)
- {
- for (int i=0;i<n;i++)
- {
- x[k]=i;
- if (u[i]==0 && ok (k))
- {
- u[i]=1;
- if (k==n)
- solutie(k);
- else
- Back(k+1);
- u[i]=0;
- }
- }
- }
- int main ()
- {
- fin>>s;
- n=strlen(s);
- sortare(s);
- Back(1);
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement