Cod sursa(job #234094)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 19 decembrie 2008 22:31:25
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
# include <stdio.h>
# include <string.h>
int i,ok,fr[300],x,n,k,l,max,j,z;
char ch,c,c2,c3;
int main ()
{
freopen ("ordine.in","r",stdin);
freopen ("ordine.out","w",stdout);
while (scanf ("%c",&ch)!=EOF)
{
x=ch;
fr[x-97]++;
n++;
}
while (ok==0)
{
max=0;
ok=1;
i=0;
if (l==0)
{
for (i=0;i<26;i++)
if (max<fr[i])
{
max=fr[i];
j=i;
}
i=j;
x=j;
c3=i+97;
if (max==(n-k)/2+1)
{
printf ("%c",c3);
fr[c3-97]--;
l=1;
}
}


if (l==0)
c3=0;


i=0;
while (i<26)
{
c2=i+97;
if (fr[i]!=0 && c!=c2 && c2!= c3)
{
ok=0;
fr[i]--;
k++;
c=i+97;
printf ("%c",c);

if (l==1 && fr[c3-97]!=0)
{
printf ("%c",c3);
fr[c3-97]--;
c=0;
k++;
}
i=26;

l=0;
break;
}
i++;
}
}
return 0;
}