Cod sursa(job #1171532)

Utilizator balakraz94abcd efgh balakraz94 Data 15 aprilie 2014 21:27:40
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <cstdio>
#include <algorithm>
using namespace std;

#define nMax 3505

struct Cutie {
    int x, y, z;
    bool operator < (const Cutie &A, const Cutie &B){
        if(A.x != B.x)
            return A.x < B.x;
        if(A.y != B.y)
            return A.y < B.y;
        return A.z < B.z;
    }
};


Cutie C[nMax];

int DP[nMax];

int N, T, BEST;


int main(){
    freopen("cutii.in", "r", stdin);
    freopen("cutii.out", "w", stdout);

    for(scanf("%d %d", &N, &T); T; -- T){
        for(int i = 0; i < N; ++ i)
            scanf("%d %d %d", &C[i].x, &C[i].y, &C[i].z);

        sort(C, C + N);

        BEST = 1;
        for(int i = 0; i < N; ++ i){
            DP[i] = 1;
            for(int j = 0; j < i; ++ j)
                if(C[j] < C[i] && DP[j] + 1 > DP[i])
                    DP[i] = DP[j] + 1;

            BEST = max(BEST, DP[i]);
        }

        printf("%d\n", BEST);
    }

    fclose(stdin);
    fclose(stdout);

    return 0;
}