Pagini recente » Cod sursa (job #1944427) | Cod sursa (job #1911889) | Cod sursa (job #448290) | Cod sursa (job #197188) | Cod sursa (job #127267)
Cod sursa(job #127267)
Program restante;
Var f,ff:text;
n,q,i,l:longint;
a,aa:array[0..40000] of string[17];
procedure qsort(st,dr:longint);
var m,i,j,k,l:longint;
aa,am:char;
begin
m:=(st+dr) div 2;
am:=a[q,m];
i:=st;
j:=dr;
repeat
while a[q,i]<am do inc(i);
while a[q,j]>am do dec(j);
if i<=j then
begin
aa:=a[q,i];
a[q,i]:=a[q,j];
a[q,j]:=aa;
i:=i+1;j:=j-1;
end;
until(i>j);
if i<dr then qsort(i,dr);
if j>st then qsort(st,j);
end;
procedure qsor1(st,dr:longint);
var m,i,j,k,l:longint;
aa,am:string;
begin
m:=(st+dr) div 2;
am:=a[m];
i:=st;
j:=dr;
repeat
while a[i]<am do inc(i);
while a[j]>am do dec(j);
if i<j then
begin
aa:=a[i];
a[i]:=a[j];
a[j]:=aa;
i:=i+1;j:=j-1;
end;
until(i>j);
if i<dr then qsort(i,dr);
if j>st then qsort(st,j);
end;
Begin
assign(f,'restante.in');
reset(f);
assign(ff,'restante.out');
rewrite(ff);
readln(f,n);
for q:=1 to n do
begin
readln(f,a[q]);
qsort(1,length(a[q]));
end;
qsor1(1,n);
l:=n;
for i:=1 to n do
if (a[i]=a[i+1])or(a[i]=a[i-1]) then dec(l);
Writeln(ff,l);
close(f);
close(ff);
End.