Pagini recente » Cod sursa (job #190706) | Cod sursa (job #2640693) | Cod sursa (job #3171354) | Cod sursa (job #419585) | Cod sursa (job #251099)
Cod sursa(job #251099)
#include<fstream>
using namespace std;
ifstream fin("ordine.in");
ofstream fout("ordine.out");
int N,A['z'];
int main(){
char x;
while(fin>>x)
++A[x],++N;
for(int i=1;i<=N;i++){
int j;
int max=0;
for(j='z';j>='a';j--)
if(A[j]){
x=j;
if(A[j]>A[max])
max=j;
}
if(A[max]==(N-i+1)/2+1){
A[max]=0;
for(int j='a';j<='z';j++)
for(int k=1;k<=A[j];k++)
fout<<(char)max<<(char)j;
fout<<(char)max;
break;
}
else{
fout<<(char)x;
A[x]--;
}
}
fout<<"\n";
fin.close();
fout.close();
return 0;
}