Cod sursa(job #222530)

Utilizator alex_mircescuAlex Mircescu alex_mircescu Data 23 noiembrie 2008 10:47:02
Problema Cutii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <algorithm>

using namespace std;

long i, t, n, j, maxim;

struct NOD {
	long a, b, c;
};

NOD A[3600];

bool cmp(NOD c, NOD d) {  
    if (c.a > d.a)  
        return true;  
    return false;        
} 

long scmax(long poz) {
	long ant = poz, cutii = 1;
	for (long i = poz + 1; i <= n; ++i) {
		if (A[i].a < A[ant].a && A[i].b < A[ant].b && A[i].c < A[ant].c) {
			ant = i;
			++cutii;
		}
	}
	return cutii;
}

int main() {
	freopen("cutii.in", "r", stdin);
	freopen("cutii.out", "w", stdout);
	scanf("%ld %ld", &n, &t);
	for (i = 1; i <= t; ++i) {
		maxim = 0;
		for (j = 1; j <= n; ++j) {
			scanf("%ld %ld %ld", &A[j].a, &A[j].b, &A[j].c);
		}
		sort(A + 1, A + n + 1, cmp);
		for (j = 1; j <= n; ++j) {
			if (scmax(j) > maxim) {
				maxim = scmax(j);
			}
		}
		printf("%ld\n", maxim);
	}
	return  0;
}