Cod sursa(job #1417373)

Utilizator Liviu98Dinca Liviu Liviu98 Data 10 aprilie 2015 11:25:06
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMax 3505
using namespace std;
int N,T,Max,v[NMax];
struct Cutie
{
    int x,y,z;
}A[NMax];
ifstream g("cutii.in");
ofstream f("cutii.out");

bool comp(Cutie A,Cutie B)
{
    return (A.x<B.x || (A.x==B.x && A.y<B.y) || (A.x==B.x &&A.y==B.y && A.z<B.z));
}

void SubsirComunMaximal()
{
    v[1]=1;
    Max=1;
    for(int i=2;i<=N;i++)
    {
        v[i]=1;
        for(int j=1;j<i;j++)
            if(A[i].x>A[j].x && A[i].y>A[j].y && A[i].z>A[j].z && v[i]<v[j]+1)
            {
                v[i]=v[j]+1;
                if(v[i]>Max)
                    Max=v[i];
            }
    }
}

int main()
{
    g>>N>>T;
    for(int k=1;k<=T;k++)
    {
        for(int i=1;i<=N;i++)
            g>>A[i].x>>A[i].y>>A[i].z;
        sort(A+1,A+N+1,comp);
        SubsirComunMaximal();
        f<<Max<<"\n";
    }
}