Cod sursa(job #442905)

Utilizator cristian9Cristian Zloteanu cristian9 Data 15 aprilie 2010 17:41:17
Problema Cutii Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include<stdio.h>
#include<algorithm>
using namespace std;

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

int cmp (dimensiuni a, dimensiuni b){
    return (a.y<b.y); //aici folosesti "<" daca il vrei crescator sau ">" daca il vrei descrescator;

}

int main()

{
    freopen ("cutii.in", "r", stdin);
    freopen ("cutii.out", "w", stdout);
    
    int n, i, l[32000], max=0, j, t, balmush;
    dimensiuni v[40000], a, b;
    
    scanf("%d %d", &n, &t);
    
    for(balmush=1; balmush<=t; balmush++){
	    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++){
			for(j=1; j<=i; j++){
				if((v[j].x<v[i].x) && (v[j].y<v[i].y) && (v[j].z<v[i].z) && (l[j]>max)){
					max=l[j];
				}
			}
			l[i]=max+1;
			max=0;
		}
		
		for(i=1; i<=n; i++){
			if(l[i]>max){
				max=l[i];
			}
		}
		
		printf("%d\n", max);
		max=0;
	}
	return 0;
}