Cod sursa(job #364508)

Utilizator cosmin79Carabet Cosmin Andrei cosmin79 Data 15 noiembrie 2009 22:59:41
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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;
}