Pagini recente » Clasament lab10d22mai2014 | Cod sursa (job #1863936) | Cod sursa (job #277950) | Cod sursa (job #1081239) | Cod sursa (job #2327938)
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
ifstream cin("ordine.in");
ofstream cout("ordine.out");
char s[1000010],ch;
int N,fr[30],nr,ant,p;
int main()
{
cin.getline(s,1000001);
N=strlen(s);
for(int i=0;i<N;i++)
fr[s[i]-'a']++;
ant=-1;
for(int l=0;l<N;l++)
{
p=-1;
for(int i=0;i<26;i++)
if(((fr[i]>0&&p<0)||(fr[i]>=(N-l)/2+1&&ant!=i))&&i!=ant)
p=i;
cout<<(char)(p+'a');
ant=p;fr[p]--;
}
cout<<'\n';
return 0;
}