Pagini recente » Cod sursa (job #1102484) | smart | Cod sursa (job #1782733) | Cod sursa (job #2685397) | Cod sursa (job #673713)
Cod sursa(job #673713)
Program ordine;
var fi, fo:text;
v:array['a'..'z'] of longint;
c, min, prec:char;
i, n:longint;
begin
assign(fi,'ordine.in'); reset(fi);
assign(fo,'ordine.out'); rewrite(fo);
while not seekeoln(fi) do
begin
read(fi,c);
v[c]:=v[c]+1;
n:=n+1;
end;
prec:=chr(ord('z')+1);
for i:=1 to n do
begin
min:=chr(ord('z')+1);
for c:='a' to 'z' do
begin
if (v[c]=(n-i+1) div 2+1) and (v[c]<>0) then begin
min:=c;
break;
end;
if (c<min) and (v[c]>0) and (prec<>c) then
min:=c;
end;
write(fo,min);
v[min]:=v[min]-1;
prec:=min;
end;
writeln(fo);
close(fo);
end.