Pagini recente » Cod sursa (job #1397284) | Istoria paginii runda/pre106 | Cod sursa (job #2632887) | Cod sursa (job #1279661) | Cod sursa (job #121182)
Cod sursa(job #121182)
#include<stdio.h>
#include<iostream.h>
/// -97
long v[25],n,i,poz=-1,gasit=-1; char s;
int cauta()
{int i,aux=(n-i+1)/2+1;
if(gasit!=poz && gasit!=-1) {v[poz=gasit]--; return poz;}
for(i=0;i<poz;i++)
if(v[i]==aux) {v[i]--; gasit=i; return poz=i;}
else
if(v[i]>0) {v[i]--; return poz=i;}
for(i=poz+1;i<25;i++)
if(v[i]==aux) {v[i]--; gasit=i; return poz=i;}
else
if(v[i]>0) {v[i]--; return poz=i;}
}
main()
{freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
while(!feof(stdin)) {s=fgetc(stdin); v[s-97]++; n++;} n--;
for(i=0;i<n;i++)
printf("%c",cauta()+97);
printf("\n");
}