Pagini recente » Cod sursa (job #761535) | Cod sursa (job #1823513) | Cod sursa (job #1112561) | Cod sursa (job #2606070) | Cod sursa (job #364508)
Cod sursa(job #364508)
#include <stdio.h>
#include <stdlib.h>
#define N 3501
int n,t,best[N],rez;
struct cutie
{
int x,y,z;
};
cutie v[N];
int compar(const void *p,const void *q)
{
cutie a=*(cutie*)p;
cutie b=*(cutie*)q;
if (a.x<b.x)
return -1;
if (a.x>b.x)
return 1;
return 0;
}
int main()
{
freopen("cutii.in","r",stdin);
freopen("cutii.out","w",stdout);
scanf("%d%d",&n,&t);
int i,j,k,bst;
for (i=1; i<=t; i++)
{
for (j=1; j<=n; j++)
scanf("%d%d%d",&v[j].x,&v[j].y,&v[j].z);
qsort(v+1,n,sizeof(v[0]),compar);
rez=0;
for (j=1; j<=n; j++)
{
bst=0;
for (k=j-1; k>=1; k--)
if (v[k].y<v[j].y && v[k].z<v[j].z)
if (best[k]>bst)
bst=best[k];
best[j]=bst+1;
if (best[j]>rez)
rez=best[j];
}
printf("%d\n",rez);
}
return 0;
}