Pagini recente » Cod sursa (job #1969427) | Cod sursa (job #2081327) | Cod sursa (job #900267) | Cod sursa (job #2141511) | Cod sursa (job #333188)
Cod sursa(job #333188)
Program cutii;
type cutie = record
x,y,z:real;
end;
var f,g:text; a:array[1..3500]of cutie;
b:array[1..3500]of 1..3500;
n,t:integer;
procedure initiere;
begin
assign (f,'cutii.in'); reset (f);
assign (g,'cutii.out'); rewrite (g);
readln (f,n,t);
end;
procedure incheiere;
begin
close (f); close (g);
end;
procedure citire;
var u:integer;
begin
for u:=1 to n do begin
readln (f,a[u].x,a[u].y,a[u].z);
b[u]:=1;
end;
end;
procedure swap (u,v:integer);
var w:cutie;
begin
w:=a[u];
a[u]:=a[v];
a[v]:=w;
end;
procedure sortare;
var u,v:integer;
begin
for u:=1 to n-1 do
for v:=u+1 to n do
if a[u].x>a[v].x then swap (u,v);
end;
function include (u,v:integer):boolean;
begin
if (a[u].x<a[v].x) and (a[u].y<a[v].y) and (a[u].z<a[v].z) then include:=true else include:=false;
end;
function max (u,v:integer):integer;
begin
if u>v then exit (u) else exit (v);
end;
procedure numara;
var u,v:integer;
begin
for u:=1 to n-1 do
for v:=u+1 to n do
if include (u,v) then b[v]:=max (b[v],b[u]+1);
end;
procedure scrie;
var u,v:integer;
begin
v:=1;
for u:=1 to n do if b[u]>v then v:=b[u];
writeln (g,v);
end;
procedure calcul;
var u:integer;
begin
for u:=1 to t do begin
citire;
sortare;
numara;
scrie;
end;
end;
begin
initiere;
calcul;
incheiere;
end.