Pagini recente » Cod sursa (job #2211614) | Cod sursa (job #2022024) | Cod sursa (job #3032098) | Cod sursa (job #1640468) | Cod sursa (job #1224324)
#include <fstream>
#include <cstring>
#define LEN_MAX 1000005
#define NMAX 26
using namespace std;
char sir[LEN_MAX];
int v[NMAX];
int main()
{
ifstream f("ordine.in");
ofstream g("ordine.out");
f.getline(sir, LEN_MAX);
int lg = strlen(sir);
for(int i = 0; i < lg; i++)
v[sir[i] - 'a']++;
int b = -1, a = -1;
for(int i = 0; i < lg; i++)
{
int j = 0;
while(!v[j] || j == a) j++;
b = a, a = j;
for(j = a + 1; j < NMAX; j++)
if(v[j] == (lg - i) / 2 + 1 && j != b)
a = j;
v[a]--;
g<<(char)('a' + a);
}
return 0;
}