Pagini recente » Cod sursa (job #2149453) | Cod sursa (job #2016882) | Cod sursa (job #1839157) | Cod sursa (job #132470) | Cod sursa (job #488114)
Cod sursa(job #488114)
#include<cstdio>
const int N=1<<20;
char s[N];
int len,apar[31];
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
gets(s);
int i,ant=666,k;
for (i=0;s[i];++i)
if (s[i]>='a' && s[i]<='z') len=i,apar[s[i]-'a']++;
for (int i=0;i<=len;++i)
{
k=0;
for (int j=0;j<26;++j) if (apar[j]==(len-i+1)/2+1 && j!=ant) k=j;
if (k!=0)
{
printf("%c",'a'+k);
apar[k]--, ant=k;
}
else
for (int j=0;j<26;++j)
if (apar[j] && j!=ant)
{
printf("%c",'a'+j);
apar[j]--,ant=j;
break;
}
}
printf("\n");
return 0;
}