Cod sursa(job #106631)

Utilizator DITzoneCAdrian Diaconu DITzoneC Data 18 noiembrie 2007 20:22:45
Problema Ordine Scor Ascuns
Compilator fpc Status done
Runda Marime 0.68 kb
program multimi2;

var 
	nr:array['a'..'z']of longint;
	i,n,sum:longint;
	f:text;
	last,c:char;

function next(x:char):char;
var c,d:char;
begin
d:='a';
for c:='b' to 'z' do
	if nr[c]>nr[d] then
		d:=c;
for c:='a' to 'z' do
	if (c <> x) and(nr[c]>0) and ((sum-nr[d]>=nr[d]) or (nr[d]=nr[c])) then
	begin
		dec(nr[c]);
		next:=c;
		break;
	end;
end;

begin
n:=0;
for c:='a' to 'z' do
	nr[c]:=0;
assign(f,'ordine.in');
reset(f);
repeat
	read(f,c);
	if(c>='a') and (c<='z') then 
	begin
		inc(n);
		inc(nr[c]);
	end;
until eof(f);
sum:=n;
close(f);
assign(f,'ordine.out');
rewrite(f);
last:='A';
for i:=1 to n do
begin
	last:=next(last);
 	write(f,last);
	dec(sum);
end;
writeln(f);
close(f);
end.