Pagini recente » Cod sursa (job #3160582) | Cod sursa (job #794334) | Cod sursa (job #2523519) | Cod sursa (job #390898) | Cod sursa (job #670279)
Cod sursa(job #670279)
Program Cutii; Uses Crt;
const nmax=3500;
type Cutie=record
x,y,z:integer;
end;
Cset=array[1..nmax] of Cutie;
var N:integer; a:Cset;
T:byte;
Function CheckRez:integer;
var L:array[1..nmax] of integer;
k,i,max:integer;
begin
for k:=1 to n-1 do l[k]:=0;
l[n]:=1;
for k:=n-1 downto 1 do
begin
max:=0;
for i:=k+1 to n do
if (a[i].x>a[k].x) and (a[i].y>a[k].y)
and (a[i].z>a[k].z) and (l[i]>max)
then max:=l[i];
l[k]:=1+max;
end;
max:=l[1];
for k:=1 to n do if l[k]>max then max:=l[k];
CheckRez:=max;
end; {CheckRez}
procedure Citire;
var F,G:text; ti:byte;
i,j:integer; key:Cutie;
begin
assign(F, 'C:\cutii.in');
assign(G, 'C:\cutii.out');
rewrite(G);
reset(F);
readln(F, N, T);
for ti:=1 to T do
begin
for i:=1 to N do
begin
read(F, a[i].x, a[i].y, a[i].z); {Citim cutia i}
key:=a[i];
j:=i-1; {sortam prin insertie}
while (j>0) and ((key.x<a[j].x) or
(key.y<a[j].y) or (key.z<a[j].z)) do
begin
a[j+1]:=a[j];
j:=j-1;
end;
a[j+1]:=key;
end; {sortat}
writeln(G, CheckRez);
end;
close(F);
close(G);
end; {Citire}
Begin
Citire;
end.