Pagini recente » Cod sursa (job #1726269) | Cod sursa (job #2332630) | Cod sursa (job #1938852) | Cod sursa (job #2720443) | Cod sursa (job #257232)
Cod sursa(job #257232)
#include <stdio.h>
#define NMAX 101
struct cutie{
int x,y,z;
};
cutie v[NMAX];
int n,t,i,j,l[NMAX],p[NMAX],max,h;
void quicksort(int st, int dr)
{
int i,j,p;
i=st; j=dr; p=(i+j)/2;
if (i>=j) return;
else
while (i<=j)
{
while (v[i].z<p) i++;
while (v[j].z>p) j--;
if (i<=j)
{
v[0]=v[i];
v[i]=v[j];
v[j]=v[0];
i++;
j--;
}
if (st<j) quicksort(st,j);
if (dr>i) quicksort(i,dr);
}
}
int main()
{
freopen("cutii.in","r",stdin);
freopen("cutii.out","w",stdout);
scanf("%d %d", &n, &t);
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);
l[j]=1;
p[j]=-1;
}
quicksort(1,n);
max=0;
for (j=n-1;j>=1;j--)
for (h=j+1;h<=n;h++)
if (v[j].x<v[h].x && v[j].y<v[h].y && l[j]<l[h]+1)
{
l[j]=l[h]+1;
if (l[j]>max) max=l[j];
p[j]=h;
}
printf("%d\n", max);
}
return 0;
}