Pagini recente » Cod sursa (job #2741836) | Cod sursa (job #2815162) | Cod sursa (job #458137) | Cod sursa (job #397567) | Cod sursa (job #406339)
Cod sursa(job #406339)
var x:array[0..30000] of string;
t:text;
i,j,n:longint;
s:string;
var loc,lss,ldd,p:longint;
procedure qsorta(var x:array of string; ls,ld:longint);
var pi:longint;
p:string;
begin
lss:=ls; ldd:=ld; loc:=ls;
pi:=(ls+ld) shr 1;
p:=x[pi]; x[pi]:=x[ls];
lss:=lss+1;
while lss<ldd do
begin
while ((x[ldd]>=p)and(lss<ldd)) do ldd:=ldd-1;
x[loc]:=x[ldd]; loc:=ldd;
while ((x[lss]<p)and(lss<ldd)) do lss:=lss+1;
x[loc]:=x[lss]; loc:=lss;
end;
x[loc]:=p;
pi:=loc;
if (ls<pi-1) then
qsorta(x,ls,pi-1);
if (pi+1<ld) then
qsorta(x,pi+1,ld);
end;
procedure quicksorta(var x:array of string; l:longint);
begin
qsorta(x,1,l);
end;
procedure qsorts(var x:string; ls,ld:longint);
var pi:longint;
p:char;
begin
lss:=ls; ldd:=ld; loc:=ls;
pi:=(ls+ld) shr 1;
p:=x[pi]; x[pi]:=x[ls];
lss:=lss+1;
while lss<ldd do
begin
while ((x[ldd]>=p)and(lss<ldd)) do ldd:=ldd-1;
x[loc]:=x[ldd]; loc:=ldd;
while ((x[lss]<p)and(lss<ldd)) do lss:=lss+1;
x[loc]:=x[lss]; loc:=lss;
end;
x[loc]:=p;
pi:=loc;
if (ls<pi-1) then
qsorts(x,ls,pi-1);
if (pi+1<ld) then
qsorts(x,pi+1,ld);
end;
procedure quicksorts(var x:string; l:longint);
begin
qsorts(x,1,l);
end;
begin
assign(t,'restante.in'); reset(t);
readln(t,n);
for i:=1 to n do
begin
read(t,s);
quicksorts(s,length(s));
x[i]:=s;
end;
quicksorta(x,n);
for i:=1 to n do
if ((x[i]<>x[i-1])and(x[i]<>x[i+1])) then j:=j+1;
close(t);
assign(t,'restante.out'); rewrite(t);
writeln(t,j);
close(t);
end.