Pagini recente » Cod sursa (job #3171727) | Cod sursa (job #2179138) | Cod sursa (job #1060182) | Cod sursa (job #509182) | Cod sursa (job #2296125)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("ordine.in") ;
ofstream out ("ordine.out") ;
string s ;
int fr[30];
int main(){
in >> s ;
int len(s.size()) ;
register int i ;
register char j ;
char Ans, Previous(0) ;
for (i = 0 ; i < len ; ++ i) {
fr[s[i] - 'a'] ++ ;
}
bool Good ;
for (i = 0 ; i < len ; ++ i) {
Good = true ;
for (j = 'a' ; j <= 'z' ; ++ j) {
if ((fr[j - 'a'] > 0 && j != Previous && Good == true) || (fr[j - 'a'] >= (len - i) / 2 + 1 && j != Previous)) {
Ans = j ;
Good = false ;
}
}
fr[Ans - 'a'] -- ;
Previous = Ans ;
out << Ans ;
}
return 0;
}