Pagini recente » Cod sursa (job #1312471) | Cod sursa (job #1492763) | Cod sursa (job #39913) | Cod sursa (job #2510200) | Cod sursa (job #485623)
Cod sursa(job #485623)
#include<cstdio>
const int N=1<<20;
char s[N];
int nr,fr[31];
void citire()
{
gets(s);
for (int i=0;s[i];++i)
if (s[i]>='a' && s[i]<='z')
{
nr=i;
fr[s[i]-'a'+1]++;
}
}
void rez()
{
int last=-1,k;
for (int i=0;i<=nr;++i)
{
k=0;
for (int j=1;j<27;++j)
if (fr[j]==(nr-i+1)/2+1 && j!=last)
k=j;
if (k!=0)
{
printf("%c",'a'+k-1);
fr[k]--;
last=k;
}
else
{
for (int j=1;j<27;++j)
if (fr[j] && j!=last)
{
printf("%c",'a'+j-1);
fr[j]--;
last=j;
break;
}
}
}
printf("\n");
}
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
citire();
rez();
return 0;
}