Cod sursa(job #299966)

Utilizator costyv87Vlad Costin costyv87 Data 7 aprilie 2009 10:15:41
Problema Restante Scor 50
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.11 kb
type rest=record
     str:string;
     x:0..1;
     end;
     st=string;
     vector=array[1..36000] of rest;

var v:vector;
    f,g:text;
    i,nr,con,n:longint;
procedure QuickSort(var A: st; Lo, Hi: longint);

procedure Sort(l, r: longint);
var
  i, j: integer;
  x,y:char;
begin
  i := l; j := r; x := a[(l+r) DIV 2];
  repeat
    while a[i] < x do i := i + 1;
    while x < a[j] do j := j - 1;
    if i <= j then
    begin
      y := a[i]; a[i] := a[j]; a[j] := y;
      i := i + 1; j := j - 1;
    end;
  until i > j;
  if l < j then Sort(l, j);
  if i < r then Sort(i, r);
end;

begin {QuickSort};
  Sort(Lo,Hi);
end;
procedure elim(i:longint);
var j:longint;
begin
nr:=0;
for j:=1 to i-1 do if v[j].str=v[i].str then begin nr:=1; v[i].x:=1;
                        if v[j].x=0 then begin v[j].x:=1; inc(nr) end; end;
end;
begin
assign(f,'restante.in'); reset(f);
assign(g,'restante.out'); rewrite(g);
readln(f,n);
con:=n;
for i:=1 to n do begin
read(f,v[i].str);
readln(f);
quicksort(v[i].str,1,length(v[i].str));
elim(i);
con:=con-nr;
end;
write(g,con);
close(g);
end.