Cod sursa(job #121774)

Utilizator CezarMocanCezar Mocan CezarMocan Data 9 ianuarie 2008 18:14:15
Problema Ordine Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.81 kb
var t:array['a'..'z'] of longint;
    c:array[1..1000010] of char;
    n,i,j,k,r:longint;
    x,p,q:char;

begin
assign(input,'ordine.in');reset(input);
assign(output,'ordine.out');rewrite(output);
readln(c);
n:=1;
while ord(c[n])<>0 do
        inc(n);
dec(n);
for i:=1 to n do
        inc(t[c[i]]);
//in p tin caracteru anterior
p:=chr(0);
r:=n;
for i:=1 to n do
        begin
        for x:='a' to 'z' do
                if (t[x]<>0)and(x<>p) then
                        begin
                        q:=x;
                        break;
                        end;
        for x:='a' to 'z' do
                if (t[x]=r div 2+1) then
                        q:=x;
        dec(t[q]);
        write(q);
        p:=q;
        dec(r);
        end;
writeln;
close(input);close(output);
end.