Pagini recente » Cod sursa (job #565066) | Cod sursa (job #736610) | Cod sursa (job #1364195) | Cod sursa (job #3166747) | Cod sursa (job #2834971)
#include <fstream>
using namespace std;
ifstream cin( "ordine.in" );
ofstream cout( "ordine.out" );
int freq[ 45 ];
int main()
{
string a;
cin >> a;
int right = a.size();
if( right == 1 ) {
cout << a << '\n';
return 0;
}
for( int i = 0; i < right; i++ )
++freq[ a[ i ] - 'a' ];
int left = 0;
while( freq[ left ] == 0 )
++left;
right = left + 1;
while( freq[ right ] == 0 )
++right;
while( freq[ left ] > 0 ) {
if( left < 26 )
cout << ( char )( left + 'a' );
--freq[ left ];
if( freq[ right ] > 0 ) {
if( right < 26 )
cout << ( char )( right + 'a' );
--freq[ right ];
while( right < 36 && freq[ right ] == 0 )
++right;
}
if( freq[ left ] == 0 ) {
left = right;
right = left + 1;
while( right < 36 && freq[ right ] == 0 )
++right;
if( freq[ right ] > 0 ) {
if( right < 26 )
cout << ( char )( right + 'a' );
--freq[ right ];
while( right < 36 && freq[ right ] == 0 )
++right;
if( right < 26 )
cout << ( char )( right + 'a' );
--freq[ right ];
while( right < 36 && freq[ right ] == 0 )
++right;
}
}
}
return 0;
}