Pagini recente » Cod sursa (job #501298) | Cod sursa (job #2806810) | Cod sursa (job #313789) | Cod sursa (job #1095600) | Cod sursa (job #212245)
Cod sursa(job #212245)
#include <stdio.h>
#include <string.h>
FILE *fin,*fout;
char s[1000001];
long contor[30];
long i,j,n,ok;
int main(){
fin=fopen("ordine.in","r");
fout=fopen("ordine.out","w");
fscanf(fin,"%s",&s);
n=strlen(s);
for(i=0;i<n;i++)contor[s[i]-'a']++;
for(i=0;i<n;i++){
ok=0;
for(j=0;j<=27;j++)
if(contor[j]==(n-i+1)/2+1 && j!=s[i-1]-'a'){
fprintf(fout,"%c",j+'a');
contor[j]--; ok=1;
}
if(!ok){
for(j=0;j<=27&&!ok;j++) if(contor[j]&&j!=s[i-1]-'a') ok=!ok;
fprintf(fout,"%c",j-1+'a');
contor[j-1]--;
}
}
fclose(fin); fclose(fout);
return 0;
}