Cod sursa(job #219633)

Utilizator alexeiIacob Radu alexei Data 7 noiembrie 2008 20:30:04
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.18 kb
#include<stdio.h>
#include<algorithm>
//and i promise to think for the AIB solution
#define NMAX 3524
using namespace std;

typedef struct{
        int A,B,C;
        }q;
q Q[NMAX];

int D[NMAX];

inline int cmp(q A1,q A2)
{
       return A1.A>A2.A;
}

inline int max(const int A,const int B){ return A>B?A:B; }

int main()
{
    freopen("cutii.in","r",stdin);
    freopen("cutii.out","w",stdout);
    
    int T,N,ANS;
    scanf("%d%d",&N,&T);
    
    int i,j;
    int d1,d2,d3;
    while( T-- )
    {
           for(i=1; i<=N; ++i)
           {
                    scanf("%d%d%d\n",&Q[i].A,&Q[i].B,&Q[i].C);
                    D[i]=1;
           }
           
           sort( Q+1, Q+N+1, cmp);
           
           ANS=0;
           for(i=1; i<=N; ++i) 
           {
                 d1=Q[i].A; d2=Q[i].B; d3=Q[i].C;
                 
                 for(j=i+1; j<=N; ++j)
                 {
                          if( Q[j].A<d1 && Q[j].B<d2 && Q[j].C<d3 )
                              D[j]=max(D[j],D[i]+1);
                 }
                 ANS=max(ANS,D[i]);
           }
    
           printf("%d\n",ANS);
    }
    
    return 0;
}