Pagini recente » Cod sursa (job #589572) | Cod sursa (job #2693073) | Cod sursa (job #1912695) | Cod sursa (job #472781) | Cod sursa (job #109981)
Cod sursa(job #109981)
program ordine;
var f,g:text;
x:char;
v:array[1..26]of longint;
i,j,y,s:longint;
begin
assign(f,'ordine.in');
assign(g,'ordine.out');
reset(f);
rewrite(g);
while not eof(f) do
begin
read(f,x);
v[ord(x)-ord('a')+1]:=v[ord(x)-ord('a')+1]+1;
end;
for i:=1 to 26 do
begin
if (v[i]>1)then
begin
s:=0;
for j:=i+1 to 26 do if (v[j]>0)then
begin
s:=s+v[j];
if(s>=v[i]-1)then break;
end;
s:=0;
for y:=i+1 to j do if (v[y]>0)then
begin
while (v[y]>0) do
begin
write(g,chr(ord('a')-1+i),chr( ord('a')+y-1));
v[y]:=v[y]-1;
s:=s+1;
if (s=v[i]-1)then break;
end;
end;
end;
if (v[i]>0)then write(g,chr(ord('a')-1+i));
end;
close(f);
close(g);
end.