Pagini recente » Cod sursa (job #1911925) | Cod sursa (job #171385) | Cod sursa (job #1970072) | Cod sursa (job #1024749) | Cod sursa (job #1222566)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("cutii.in");
ofstream cout("cutii.out");
const int nmax = 354;
struct cutie
{
int x,y,z;
};
bool cmp(cutie a,cutie b) {
return (a.x<b.x); }
cutie c[nmax];
int n,t,i,v[nmax];
bool mmare(cutie a, cutie b)
{
return a.x>b.x && a.y>b.y && a.z>b.z;
}
int main()
{
cin>>n>>t;
while (t--)
{
for (i=1;i<=n;i++) cin>>c[i].x>>c[i].y>>c[i].z;
sort(c+1,c+n+1,cmp);
int k=1; v[1]=1;
for (i=2;i<=n;i++)
if (mmare(c[i],c[v[k]])) v[++k]=i;
else {
int l=1,r=k,sol=0;
while (l<=r) {
int mij=(l+r)/2;
if (mmare(c[v[mij]],c[i])) sol=mij,r=mij-1;
else l=mij+1;
}
if (sol)
v[sol]=i;
}
cout<<k<<"\n";
}
return 0;
}