Pagini recente » Cod sursa (job #908196) | Cod sursa (job #989567) | Cod sursa (job #1382012) | Cod sursa (job #303413) | Cod sursa (job #950226)
Cod sursa(job #950226)
#include<cstdio>
#include<cstring>
FILE *f=fopen ("ordine.in","r");
FILE *g=fopen ("ordine.out","w");
char s[1000002];
int v[30];
int main(){
int i,j,last=-1,lg;
fscanf(f,"%s",&s);
lg=strlen(s);
for(i=0;i<lg;++i){
v[s[i]-'a']++;
}
for(i=0;i<lg;++i){
for(j=0;j<26;++j){
if(v[j]==(lg-i)/2+1){
break;
}
}
if(j<26){
fprintf(g,"%c",j+'a');
last=j;
v[j]--;
continue;
}
for(j=0;j<26;++j){
if(j!=last && v[j]){
break;
}
}
if(j<26){
fprintf(g,"%c",j+'a');
last=j;
v[j]--;
continue;
}
}
return 0;
}