Pagini recente » Cod sursa (job #825326) | Cod sursa (job #1917494) | Cod sursa (job #650020) | Cod sursa (job #738703) | Cod sursa (job #2296113)
#include <bits/stdc++.h>
using namespace std;
ifstream in("ordine.in");
ofstream out("ordine.out");
int fr[30];
char s[1000005], v[1000005], ant = '0', t;
int main()
{
in >> s;
for(int i = 0; i < strlen(s); i++)
fr[s[i] - 'a']++;
for(int i = 0; i < strlen(s); i++)
{
t = '0';
for(int j = 0; j < 26; j++)
if((fr[j] > 0 && j + 'a' != ant && t == '0') || (fr[j] >= (strlen(s) - i) / 2 + 1 && j + 'a' != ant))
t = j + 'a';
fr[t - 'a']--;
v[i] = t;
ant = t;
}
out << v;
return 0;
}