Cod sursa(job #1244610)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 17 octombrie 2014 21:03:54
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("cutii.in");
ofstream out("cutii.out");

struct cutie{
    int x,y,z;
};
cutie v[4000];
int n,best[4000];

void init()
{

    for(int i = 1 ; i <= n ; i++)
        best[i] = 0;
}

void citire()
{

    for(int i = 1 ; i <= n ; i++)
        in>>v[i].x>>v[i].y>>v[i].z;
}

bool comp(cutie a,cutie b)
{

    return (a.x < b.x);
}
void solve()
{

    sort(v,v+n+1,comp);
    init();
    best[1] = 1;
    int sol = 0,i,j;
    for(i = 2 ; i <= n ; i ++)
    {
        best[i] = 1;
        for(j = 1 ; j <= i-1 ; j++)
            if(v[i].x > v[j].x && v[i].y > v[j].y && v[i].z > v[j].z)
                 best[i] = max(best[i],best[j] + 1);
        sol = max(sol,best[i]);
    }
    out<<sol<<"\n";
}

int main()
{

    int T;
    in>>n>>T;
    for( ; T ; --T){
        citire();
        solve();
    }
    return 0;
}