Pagini recente » Cod sursa (job #868255) | Cod sursa (job #1768483) | Cod sursa (job #2700966) | Cod sursa (job #592846) | Cod sursa (job #124983)
Cod sursa(job #124983)
var a:array[1..36001] of string[16];
nr,i,st,n:longint;
f,g:text;
procedure retrievemstr(var s:string; st,en:longint; var m:longint);
var i,j,di,dj,aux:longint;
auxc:char;
begin
i:=st;
j:=en;
di:=1;
dj:=0;
while i<>j do begin
if s[i]>s[j] then begin
auxc:=s[i];
s[i]:=s[j];
s[j]:=auxc;
aux:=-di;
di:=-dj;
dj:=aux;
end;
inc(i,di);
inc(j,dj);
end;
m:=i;
end;
procedure quickstr(var s:string; i,j:longint);
var m:longint;
begin
if (i<=j) then begin
retrievemstr(s,i,j,m);
quickstr(s,i,m-1);
quickstr(s,m+1,j);
end
end;
procedure retrievem(st,en:longint; var m:longint);
var i,j,di,dj,aux:longint;
auxc:string[16];
begin
i:=st;
j:=en;
di:=1;
dj:=0;
while i<>j do begin
if a[i]>a[j] then begin
auxc:=a[i];
a[i]:=a[j];
a[j]:=auxc;
aux:=-di;
di:=-dj;
dj:=aux;
end;
inc(i,di);
inc(j,dj);
end;
m:=i;
end;
procedure quick(i,j:longint);
var m:longint;
begin
if (i<=j) then begin
retrievem(i,j,m);
quick(i,m-1);
quick(m+1,j);
end
end;
begin
assign(f,'restante.in');
assign(g,'restante.out');
reset(f);
rewrite(g);
readln(f,n);
for i:=1 to n do begin
readln(f,a[i]);
quickstr(a[i],1,length(a[i]));
end;
quick(1,n);
i:=1;
st:=1;
while i<=n do begin
inc(i);
while (i<=n) and (a[i]=a[st]) do
inc(i);
if i-st=1 then
inc(nr);
st:=i;
end;
writeln(g,nr);
close(f);
close(g);
end.