Pagini recente » Cod sursa (job #1944586) | Cod sursa (job #3270269) | Cod sursa (job #555173) | Cod sursa (job #2373061) | Cod sursa (job #307889)
Cod sursa(job #307889)
#include<fstream>
#include<string>
#define cif 26
#define dim 1000001
using namespace std;
int a[cif];
int main()
{long int n,i,j,x,k,ok;
char s[dim],c;
ifstream f("ordine.in");
ofstream g("ordine.out");
f.getline(s,dim,'\n');
n=strlen(s);
for(i=0;i<=n;i++)
a[(int)s[i]-(int)'a'+1]++;
c='.';
i=1;
while(i<=n)
{ok=0;
for(j=1;j<=cif;j++)
if((a[j]==(n-i+1)/2+1)&&((char)('a'+j-1)!=c))
{k=j;break;}
else if((!ok)&&((char)('a'+j-1)!=c)&&(a[j]!=0))
k=j,ok=1;
c=(char)('a'+k-1);
g<<c;
a[k]--;
i++;
}
g<<'\n';
f.close();
f.close();
return 0;
}