Pagini recente » Cod sursa (job #1228367) | Cod sursa (job #2688124) | Cod sursa (job #196683) | Cod sursa (job #1779232) | Cod sursa (job #2848027)
#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
char b[1000001];
int fr[27];
ifstream fin("ordine.in");
ofstream fout("ordine.out");
int main ()
{
char ch;
int n=0;
while(fin>>ch){
fr[ch-'a']++;
n++;
}
b[0]='+';
for(int i=1;i<=n;i++){
int ok=0;
for(int j=0;j<='z'-'a';j++)
if(fr[j]!=0&&fr[j]>(n-i+1)/2&&j+'a'!=b[i-1]){
ok=1;
b[i]=j+'a';
fr[j]--;
break;
}
if(ok==0)
for(int j=0;j<='z'-'a';j++)
if(fr[j]!=0&&j+'a'!=b[i-1]){
{
b[i]=j+'a';
fr[j]--;
break;
}
}
}
for(int i=1;i<=n;i++)
fout<<b[i];
}