Pagini recente » Cod sursa (job #501317) | Monitorul de evaluare | Cod sursa (job #2182732) | Cod sursa (job #2597071) | Cod sursa (job #182899)
Cod sursa(job #182899)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
struct cutie
{
int x,y,z;
};
int csort(cutie* a,cutie* b)
{
if (a->x>b->x)
return 1;
return -1;
}
int sort(const void *a,const void *b)
{
return csort((cutie*)a,(cutie*) b);
}
cutie c[3501];
int n,t,nr[3501],mx;
int main()
{
freopen("cutii.in","r",stdin);
freopen("cutii.out","w",stdout);
scanf("%d %d\n",&n,&t);
int i,j;
for (int k=0;k<t;k++)
{
for (i=0;i<n;i++)
scanf("%d %d %d\n",&c[i].x,&c[i].y,&c[i].z);
qsort((void*)c,n,sizeof(c[0]),sort);
memset(nr,0,sizeof(nr));
nr[0]=1;
mx=1;
for (i=1;i<n;i++)
{
nr[i]=1;
for (j=0;j<i;j++)
if (c[i].y>c[j].y&&c[i].z>c[j].z&&nr[i]<nr[j]+1)
nr[i]=nr[j]+1;
if (mx<nr[i])
mx=nr[i];
}
printf("%d\n",mx);
}
return 0;
}