Pagini recente » Cod sursa (job #530838) | Cod sursa (job #672787) | Cod sursa (job #1563489) | Cod sursa (job #1149299) | Cod sursa (job #1606539)
#include <fstream>
#include <cstring>
#define dmax 1000004
using namespace std;
ifstream fin("ordine.in");
ofstream fout("ordine.out");
int n,y[30],ok;
char a[dmax],b[dmax],c;
int main()
{
int i,j;
fin>>a;
n=strlen(a);
for(i=0;i<n;i++)
y[a[i]-'a']++;
for(i=0;i<=n;i++)
{
ok=1;
for(j=0;j<=27;j++)
if(y[j]==(n-i)/2+1)
{
b[i]='a'+j;
y[j]--;
ok=0;
}
for(j=0;j<=27 && ok==1;j++)
if(y[j])
{
c='a'+j;
if(c!=b[i-1] )
{
b[i]=c;
y[j]--;
ok=0;
}
}
}
for(i=0;i<n;i++)
fout<<b[i];
return 0;
}