Pagini recente » Cod sursa (job #268756) | Cod sursa (job #2274416) | Cod sursa (job #3181637) | Cod sursa (job #1744104) | Cod sursa (job #1416124)
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <ctime>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <deque>
#define INF (1<<30)
#define mod 666013
using namespace std;
int n, i, f[35];
char s[1000005];
void solve(char lst)
{
int i;
for(i = 'a'; i <= 'z'; i++)
if(f[i] >= n / 2 + 1)
break;
if(i <= 'z')
{
printf("%c", i);
f[i]--;
n--;
solve(i);
return;
}
for(i = 'a'; i <= 'z'; i++)
{
if(i == lst) continue;
if(f[i])
{
printf("%c", i);
f[i]--;
n--;
solve(i);
return;
}
}
}
int main()
{
freopen("ordine.in", "r", stdin);
freopen("ordine.out", "w", stdout);
gets(s + 1);
n = strlen(s + 1);
for(i = 1; i <= n; i++)
f[ s[i] ] ++;
solve(0);
printf("\n");
return 0;
}