Pagini recente » Cod sursa (job #1895668) | Cod sursa (job #3269588) | Cod sursa (job #1268354) | Cod sursa (job #1466117) | Cod sursa (job #647522)
Cod sursa(job #647522)
#include<cstdio>
#include<algorithm>
using namespace std;
#define N 3501
struct P
{int x,y,z;};
P p[N],q[N];
int i,n,t,m,k,b[N],j,c;
int C(P a,P b)
{return a.x<b.x;}
int main()
{FILE *f=fopen("cutii.in","r"),*g=fopen("cutii.out","w");
fscanf(f,"%d%d",&n,&t);
while(t--)
{for(i=1;i<=n;i++)
fscanf(f,"%d%d%d",&p[i].x,&p[i].y,&p[i].z);
sort(p+1,p+n+1,C);
for(i=1,m=0;i<=n;i++)
{for(j=0,c=(1<<12);c;c>>=1)
if(j+c<=m&&q[j+c].y<p[i].y&&q[j+c].z<p[i].z)
j+=c;
if(q[j].y<p[i].y&&q[j].z<p[i].z)
j++;
if(j>m)
m=j;
q[j]=p[i],b[j]=i;}
fprintf(g,"%d\n",m);}
return 0;}