Pagini recente » Cod sursa (job #465528) | Cod sursa (job #1816459) | Cod sursa (job #2372845) | Cod sursa (job #2397294) | Cod sursa (job #197381)
Cod sursa(job #197381)
#include<fstream.h>
#include<string.h>
#define dim 1000001
ifstream f("ordine.in");
ofstream g("ordine.out");
char s[dim];
int v[30],st[dim],n;
void solutie()
{
int i;
for(i=1;i<=n;i++)
g<<(char)(st[i]+'a'-1);
g<<'\n';
g.close();
}
int ok(int k)
{
if(st[k]==st[k-1]) return 0;
return 1;
}
int back(int k)
{
int i;
if(k==n+1) {solutie(); return 0;}
else
{for(i=1;i<=30;i++)
if(v[i])
{
st[k]=i;
if(ok(k)) {
v[i]--;
back(k+1);
}
}
}
}
int main()
{
int i;
f.get(s,dim,'\n');
f.close();
n=strlen(s);
for(i=0;i<n;i++)
v[s[i]-'a'+1]++;
back(1);
return 0;
}