Pagini recente » Cod sursa (job #3124164) | Cod sursa (job #273596) | Cod sursa (job #2193535) | Cod sursa (job #1513520) | Cod sursa (job #1837561)
#include <fstream>
#include <cstring>
#define nmax 1000005
#define teta 26
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int n,i,j,v[teta];
char s[nmax],k[nmax],c,t;
int main()
{
f>>s;
n=strlen(s);
for (i=0;i<n;i++)
v[s[i]-'a']++;
for (i=0;i<n;i++) {
t=0;
for (j=0;j<26;j++)
if ((v[j]&&j+'a'!=c&&t==0)||(v[j]>=(n-i)/2+1&&j+'a'!=c))
t=j+'a';
v[t-'a']--;
k[i]=t;
c=t;
}
g<<k;
}