Pagini recente » Cod sursa (job #691710) | Cod sursa (job #3259350) | Cod sursa (job #3288390) | Cod sursa (job #53134) | Cod sursa (job #28470)
Cod sursa(job #28470)
program cutii;
const
inputfile = 'cutii.in';
outputfile = 'cutii.out';
NMAX = 3500;
TMAX = 100;
type
intN = 1..NMAX;
intT = 1..TMAX;
xyz = array[intN] of integer;
sorted = array[intN] of intN;
var
N,i : intN;
T,it : intT;
x,y,z : xyz;
a : sorted;
f,g : text;
procedure add(var a : sorted; i:intN; xx,yy,zz:integer);
var j : intN;
begin
a[i]:= i;
j:=i-1;
while (j>0) and (x[a[j]]<xx) do
begin
a[j+1]:=a[j];
dec(j);
end;
while (j>0) and (x[a[j]]=xx) and (y[a[j]]<yy) do
begin
a[j+1]:=a[j];
dec(j);
end;
while (j>0) and (x[a[j]]=xx) and (y[a[j]]=yy) and (z[a[j]]=zz) do
begin
a[j+1]:=a[j];
dec(j);
end;
a[j+1]:=i;
end; { add }
procedure solve(a : sorted; N:intN);
var i,nr : intN;
begin
nr:=1;
i:=2;
while (i<=N) and (x[a[i]]<x[a[i-1]]) and (y[a[i]]<y[a[i-1]]) and (z[a[i]]<z[a[i-1]]) do
begin
inc(i);
inc(nr);
end;
writeln(g,nr);
end; { solve }
begin
assign(g,outputfile); rewrite(g);
assign(f,inputfile); reset(f);
readln(f,N,T);
for it:=1 to T do
begin
for i:=1 to N do
begin
readln(f,x[i],y[i],z[i]);
add(a,i,x[i],y[i],z[i]);
end;
solve(a,N);
end;
close(f);
close(g);
end.