Pagini recente » Cod sursa (job #2960862) | Cod sursa (job #1166839) | Cod sursa (job #450791) | Cod sursa (job #314062) | Cod sursa (job #73099)
Cod sursa(job #73099)
var f1,f2:text;
n,t,i,j,k,max,aux,w,e,q,q1,w1,e1:longint;
x,y,z,v,ax:array[1..4000] of longint;
a:array[1..4000] of qword;
procedure radix;
var p,i,j,k,x,nr:longint;
m:array[0..10,1..1500] of qword;
begin
p:=1;
for i:=1 to 20 do
begin
for j:=0 to 9 do m[j,0]:=0;
for j:=1 to n do
begin
x:=a[j] div p mod 10;
m[x,m[x,0]+1]:=a[j];
inc(m[x,0]);
end;
nr:=0;
for j:=0 to 9 do
begin
for k:=1 to m[j,0] do
begin
inc(nr);
a[nr]:=m[j,k];
end;
end;
p:=p*10;
end;
end;
begin
assign(f1,'cutii.in');
reset(f1);
assign(f2,'cutii.out');
rewrite(f2);
read(f1,n,t);
for k:=1 to t do
begin
for i:=1 to n do
begin
read(f1,x[i],y[i],z[i]);
a[i]:=x[i];a[i]:=a[i]*100000000;
a[i]:=a[i]+y[i]*10000;
a[i]:=a[i]+z[i];
end;
radix;
for i:=1 to n do
begin
x[i]:=a[i] div 100000000;
y[i]:=a[i] mod 100000000 div 10000;
z[i]:=a[i] mod 10000;
end;
for i:=n downto 1 do
begin
max:=0;
for j:=i+1 to n do
begin
if (x[i]<x[j])and(y[i]<y[j])and(z[i]<z[j])and(v[j]>max) then max:=v[j];
if n-j=max then break;
end;
v[i]:=max+1;
end;
max:=0;
for i:=1 to n do
begin
if max<v[i] then max:=v[i];
v[i]:=0;
end;
writeln(f2,max);
end;
close(f1);
close(f2);
end.