Pagini recente » Cod sursa (job #2782306) | Cod sursa (job #104116) | Cod sursa (job #1939756) | Cod sursa (job #978674) | Cod sursa (job #604171)
Cod sursa(job #604171)
Program cutii;
type dimens=record
x,y,z:integer;
end;
var n,t,i,j,max,p,m,s,q:integer;
a: array [1..3500] of dimens;
b: array [1..3500] of integer;
b1,b2:array [1..1 shl 17] of char;
fi, fo:text;
procedure qsort(l,r:integer);
var i,j,k:integer;
t:dimens;
begin
i:=l; j:=r;
k:=a[(l+r) div 2].z;
repeat
while a[i].z>k do inc(i);
While a[j].z<k do dec(j);
if i<=j then begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
inc(i); dec(j);
until i>=j;
if j>l then qsort(l,j);
if i<r then qsort(i,r);
end;
begin
assign(fi,'cutii.in');
assign(fo,'cutii.out');
settextbuf(fi,b1);
settextbuf(fo,b2);
reset(fi);
rewrite(fo);
readln(fi,n,t);
for m:=1 to t do begin
q:=0;
for i:=1 to n do begin
read(fi,s); a[s].x:=s;
if s>q then q:=s;
readln(fi,a[s].y,a[s].z);
end;
{ qsort(1,n);}
b[q]:=1; max:=0;
for i:=q-1 downto 1 do begin
p:=i;
for j:=i+1 to n do
if (a[j].y>a[i].y) and (a[j].z>a[i].z) and (b[j]>b[p])
then p:=j;
b[i]:=b[p]+1;
if b[i]>max then max:=b[i];
end;
{ for i:=1 to n do
if b[i]>max then max:=b[i];}
writeln(fo,max);
for i:=1 to q-1 do {begin}
b[i]:=0;
{ a[i].x:=0;
a[i].y:=0;
a[i].z:=0;
end;}
end;
close(fo);
end.