Pagini recente » Cod sursa (job #1545840) | Cod sursa (job #794619) | Istoria paginii runda/bulangandit11 | Istoria paginii runda/simulare9_31_10/clasament | Cod sursa (job #114340)
Cod sursa(job #114340)
#include<stdio.h>
#include<iostream.h>
#define LMAX 60000
/// -97
long v[26],v2[26],n,i,poz=-1,last=-1;
char s;
int cauta()
{int j,var2; long var=(n-i+1)/2+1;
for(j=0;j<last;j++)
if(v2[j]==var) {v2[j]--; return j;}
for(j=last+1;j<26;j++)
if(v2[j]==var) {v2[j]--; return j;}
for(j=0;j<26;j++) if(v2[j]>0 && j!=last) {v2[j]--; return j;}
}
main()
{freopen("ordine.in","r",stdin);
freopen("ordine.out","w",stdout);
while(!feof(stdin)) {s=fgetc(stdin); v[s-97]++; v2[s-97]++; n++;} n--;
for(i=1;i<=n;i++)
{last=cauta(); printf("%c",last+97);} cout<<endl;
}