Cod sursa(job #115129)

Utilizator 7RaduRadu Antohi 7Radu Data 16 decembrie 2007 11:03:08
Problema Litere Scor 10
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 9-a Marime 1.17 kb
program Litere;
const
   abc : string = 'abcdefghjiklmnopqrstuvwxyz';
var
   fl : text;
   c, c_sort : array[1..10000] of char;
   aux : char;
   i, j, k, l, o, p, n, s : integer;

function diferit:boolean;
begin
   diferit := true;
   for j := 1 to n do
      if c[j] <> c_sort[j] then
         Exit;
   diferit := false;
end;
begin
   assign(fl,'litere.in');
   reset(fl);
   readln(fl,n);
   for i := 1 to n do
      begin
         Read(Fl,c[i]);
         c_sort[i] := c[i];
      end;
   close(fl);

   for i := 1 to n do
      for j := i+1 to n do
         if pos(c_sort[i],abc) > pos(c_sort[j],abc) then
            begin
               aux := c_sort[i];
               c_sort[i] := c_sort[j];
               c_sort[j] := aux;
            end;

   s := 0;
   while diferit do
      begin
         for i := 1 to n-1 do
            if pos(c[i],abc) > pos(c[i+1],abc) then
               begin
                  aux := c[i+1];
                  c[i+1] := c[i];
                  c[i] := aux;
                  s := s + 1;
               end;
      end;

  assign(fl,'litere.out');
  rewrite(fl);
  writeln(fl,s);
  close(fl);
end.