Pagini recente » Cod sursa (job #2002380) | Cod sursa (job #1091331) | Cod sursa (job #1689953) | Cod sursa (job #1330453) | Cod sursa (job #127780)
Cod sursa(job #127780)
type sir=array[1..36001] of string[18];
var a:sir;
n,i,nr:longint;
f,g:text;
procedure quick1(s,d:integer; var a:string);
var i,j:integer;
w1,w2,x:char;
begin
i:=s; j:=d; x:=a[(s+d)div 2];
repeat
while a[i]<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
w1:=a[i]; w2:=a[j];
delete(a,i,1); insert(w2,a,i);
delete(a,j,1); insert(w1,a,j);
inc(i); dec(j);
end
until i>j;
if s<j then quick1(s,j,a);
if d>i then quick1(i,d,a);
end;
procedure quick2(s,d:longint; var a:sir);
var i,j:longint;
w,x:string;
begin
i:=s; j:=d; x:=a[(s+d)div 2];
repeat
while a[i]<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
w:=a[i]; a[i]:=a[j]; a[j]:=w;
inc(i); dec(j);
end
until i>j;
if s<j then quick2(s,j,a);
if i<d then quick2(i,d,a);
end;
begin
assign(f,'restante.in'); reset(f);
assign(g,'restante.out'); rewrite(g);
readln(f,n);
for i:=1 to n do
begin
readln(f,a[i]);
quick1(1,length(a[i]),a[i]);
end;
nr:=0;
quick2(1,n,a);
for i:=1 to n do
if (a[i]<>a[i-1])and(a[i]<>a[i+1]) then nr:=nr+1;
writeln(g,nr);
close(g);
end.