Pagini recente » Cod sursa (job #423558) | Cod sursa (job #2647245) | Cod sursa (job #2787126) | Cod sursa (job #901791) | Cod sursa (job #531060)
Cod sursa(job #531060)
#include<stdio.h>
#include<string>
FILE*f=fopen("ordine.in","r");
FILE*g=fopen("ordine.out","w");
int i,L,F[30],pp,j,pi;
char Sir[1000005],Rez[1000005];
int main () {
fscanf(f,"%s",Sir+1);
L = strlen(Sir + 1);
for ( i = 1 ; i <= L ; ++i )
++F[Sir[i] - 'a'+1];
pi = 1; pp = 2;
for ( i = 1 ; i <= 26 ; ++i ){
if ( pi < pp ){
for ( j = pi ; F[i] ; --F[i], j += 2 )
Rez[j] = i + 'a' - 1;
pi = j;
}
else{
for ( j = pp ; F[i] ; --F[i], j += 2 )
Rez[j] = i + 'a' - 1;
pp = j;
}
}
fprintf(g,"%s",Rez+1);
fclose(f);
fclose(g);
return 0;
}