Pagini recente » Cod sursa (job #3284666) | Cod sursa (job #2668862) | Cod sursa (job #925471) | Cod sursa (job #1813919) | Cod sursa (job #312763)
Cod sursa(job #312763)
#include<cstdio>
#include<cstring>
#define MAXN 1 << 20
#define Alpha 27
int i , j , N , A[Alpha] , first , second;
char string[MAXN];
int main()
{
freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
scanf("%s",&string);
N = strlen ( string ) ;
for ( i = 0 ; i < N ; i++)
A[int(string[i]) - 96] += 1;
for( first = 1 ; A[first] <= 0 ; first ++);
for( second = first + 1; A[second] <= 0 ; second++);
while ( N > N % 2)
{
while ( A[first] && A[second] )
{
printf("%c%c",char(first + 96),char(second + 96));
N -= 2;
A[first] -- ; A[second] --;
}
if(!A[first])
for(first = second + 1; A[first] <= 0 && first <= 26 ;first++);
if(!A[second])
while(A[second] == 0 || second <= first )
second ++;
}
if( N )
for( i = 1 ; i <= 27 ; i++)
if( A[i] )
{
printf("%c\n",char(i + 96));
return 0;
}
return 0;
}