Pagini recente » Cod sursa (job #2719351) | Cod sursa (job #2137832) | Cod sursa (job #2238915) | Cod sursa (job #2573920) | Cod sursa (job #169405)
Cod sursa(job #169405)
program restante;
var f,g:text;
v:array[0..40000]of string;
p:array[1..40000]of longint;
k,n,l,cont,y,i:longint;
function poz(li,ls:longint):longint;
var i,j,modi,modj,m:longint;
man:char;
begin
i:=li;
j:=ls;
modi:=0;
modj:=-1;
while (i<=j)do
begin
if (v[y,i]>v[y,j])then
begin
man:=v[y,i];
v[y,i]:=v[y,j];
v[y,j]:=man;
m:=modi;
modi:=-modj;
modj:=-m;
end;
i:=i+modi;
j:=j+modj;
end;
poz:=i;
end;
procedure quick(li,ls:longint);
begin
if (li<ls)then
begin
k:=poz(li,ls);
quick(li,k-1);
quick(k+1,ls);
end;
end;
function poz2(li,ls:longint):longint;
var i,j,modi,modj,m:longint;
man:string;
begin
i:=li;
j:=ls;
modi:=0;
modj:=-1;
while (i<=j)do
begin
if (v[i]>v[j])then
begin
man:=v[i];
v[i]:=v[j];
v[j]:=man;
m:=modi;
modi:=-modj;
modj:=-m;
end;
i:=i+modi;
j:=j+modj;
end;
poz2:=i;
end;
procedure quick2(li,ls:longint);
var i:longint;
begin
if (li<ls)then
begin
k:=poz2(li,ls);
quick2(li,k-1);
quick2(k+1,ls);
end;
end;
begin
assign(f,'restante.in');
assign(g,'restante.out');
reset(f);
rewrite(g);
readln(f,n);
for y:=1 to n do
begin
readln(f,v[y]);
l:=length(v[y]);
quick(1,l);
end;
quick2(1,n);
{for i:=1 to n do
if (v[i]<>v[i+1])and(v[i]<>v[i-1])then inc(cont); }
writeln(g,cont);
close(f);
closE(g);
end.