Cod sursa(job #403959)

Utilizator stef2503Stefan Stan stef2503 Data 25 februarie 2010 16:50:18
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;

struct cut {
	int x; int y; int z;
};

int cmp (cut a, cut b)
{
	return (a.x<b.x);
}

int main ()
{
	freopen("cutii.in", "r", stdin);
	freopen("cutii.out", "w", stdout);
	int n, t, q, i, j, max, l[3501];
	cut v[3501];
	scanf("%d %d", &n, &t);
	for (q=1; q<=t; q++) {
		memset(l, 0, sizeof(l));
		for (i=1; i<=n; i++) {
			scanf("%d %d %d", &v[i].x, &v[i].y, &v[i].z);
		}
		sort (v+1, v+n+1, cmp);
		l[1]=1;
		for (i=2; i<=n; i++) {
			max=0;
			for (j=1; j<i; j++) {
				if ((v[j].y < v[i].y) && (v[j].z < v[i].z) && l[j]>max) {
					max=l[j];
				}
			}
			l[i]=max + 1;
		}
		max=l[1];
		for (i=1; i<=n; i++) {
			if (l[i]>=max) {
				max=l[i];
			}
		}
		printf("%d\n", max);
		/*
		for (i=1; i<=n; i++) {
			printf("%d ", l[i]);
		}
		for (i=1; i<=n; i++) {
			printf("\n%d %d %d", v[i].x, v[i].y, v[i].z);
		}
		*/
	}
	return 0;
}