Pagini recente » Cod sursa (job #2775895) | Cod sursa (job #2786680) | Cod sursa (job #827533) | Cod sursa (job #933014) | Cod sursa (job #1244612)
#include<fstream>
#include<algorithm>
#include<iostream>
using namespace std;
ifstream in("cutii.in");
ofstream out("cutii.out");
struct cutie{
int x,y,z;
};
cutie v[5000],q[5000];
int n,L;
void citire()
{
for(int i = 1 ; i <= n ; i++)
in>>v[i].x>>v[i].y>>v[i].z;
}
bool comp(cutie a,cutie b)
{
return (a.x < b.x);
}
void bin_search(cutie val,int left,int right)
{
int mij;
while(left <= right){
mij = (left+right)/2;
if(val.x > q[mij].x && val.y > q[mij].y && val.z > q[mij].z)
left = mij+1;
else right = mij-1;
}
if(left > L)
q[++L] = val;
else if(q[left].x > val.x && q[left].y > val.y)
q[left] = val;
}
void solve()
{
for(int i = 1 ;i <= n ; i++)
q[i].x = q[i].z = q[i].y = 0;
sort(v+1,v+n+1,comp);
q[1] = v[1];
L = 1;
for(int i = 2 ;i <= n ; i++){
bin_search(v[i],1,L);
}
out<<L<<"\n";
}
int main()
{
int T;
in>>n>>T;
for( ; T ; --T){
citire();
solve();
}
return 0;
}