Pagini recente » Cod sursa (job #95151) | Cod sursa (job #1580157) | Cod sursa (job #2097622) | Cod sursa (job #45867) | Cod sursa (job #2871479)
#include <fstream>
using namespace std;
ifstream fin ("ordine.in");
ofstream fout ("ordine.out");
int k,fr[30],j,l,i,ant;
char v[1000001],g[1000001];
int main()
{
fin>>v;
for (i=0; v[i]; i++)
{
fr[v[i]-'a']++;
k++;
}
ant=-1;
for (i=0; v[i]; i++)
{
l=-1;
for (j=0; j<='z'-'a'; j++)
{
if (fr[j]>k/2&&ant!=j)
{
l=j;
break;
}
}
if (l==-1)
{
for (j=0; j<='z'-'a'; j++)
{
if (fr[j]!=0&&j!=ant)
{
l=j;
break;
}
}
}
fr[l]--;
ant=l;
k--;
g[i]='a'+l;
}
fout<<g;
return 0;
}