Cod sursa(job #126257)

Utilizator juniorOvidiu Rosca junior Data 21 ianuarie 2008 19:11:22
Problema Restante Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.82 kb
var
	fi, fo : text;
  n, i, j : longint;
  c : array[1..16] of string[16];
  mc : array[#96..'z',1..36000] of string[16];
  nc : array[#96..'z'] of integer;
  car : char;
  l : byte;
begin
	assign(fi,'restante.in'); reset(fi);
  assign(fo,'restante.out'); rewrite(fo);
  read(fi,n);
  for i := 1 to n do	
  	begin
    	readln(fi,c[i]);
      for j := length(c) to 16 do
      	c[i] := #96+c[i]; { caracterul mai mic decat 'a' }
    end;
  for l := 16 downto 1 do { grupam dupa litera l }
  	begin
    	for car := #96 to 'z' do
      	nc[car] := 0; { numarul de cuvinte corespunzatoare fiecarui caracter }
    	for i := 1 to n do
      	begin
      		inc(nc[c[i][l]]); { Creste numarul de cuvinte corespunzator literei l. }
          mc[c[i][l],nc[c[i][l]]] := c[i];
        end;
  	end;
  close(fi); close(fo);
end.