Pagini recente » Cod sursa (job #9563) | Cod sursa (job #1428979) | Cod sursa (job #549851) | Cod sursa (job #47770) | Cod sursa (job #1447528)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("ordine.in");
ofstream g("ordine.out");
int n , v[50] , last;
char Sir[1000005];
int main()
{
int ok ;
f >> Sir;
n = strlen(Sir);
for(int i = 0 ; i < n ; ++i){
++v[Sir[i] - 'a' + 1];
}
for(int i = 1 ; i <= n ; ++i){
ok = 0 ;
for(int j = 1 ; j <= 'z' - 'a' + 1 ; ++j){
if(v[j] == (n - i + 1) / 2 + 1){
char ch = j + 'a' - 1;
g << ch ;
last = j;
--v[j];
ok = 1;
break;
}
}
if(ok == 0){
for(int j = 1 ; j <= 'z' - 'a' + 1 ; ++j){
if(v[j] > 0 && j != last){
char ch = j + 'a' - 1;
g << ch ;
last = j;
--v[j];
break;
}
}
}
}
return 0;
}