Cod sursa(job #838448)

Utilizator loginLogin Iustin Anca login Data 19 decembrie 2012 18:28:08
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
# include <fstream>
# include <algorithm>
# define DIM 3503
using namespace std;
struct nod{
    int x, y, z;
    friend bool operator < (const nod &a, const nod &b){
        if (a.x<b.x)return 1;
        if (a.x==b.x && a.y<b.y)return 1;
        if (a.x==b.x && a.y==b.y && a.z<b.z)return 1;
        return 0;
    }
}v[DIM];
int n, t, l[DIM];
 
int solve ()
{
    int sol=0;
    for(int i=2;i<=n;++i)
    {
        l[i]=0;
        for(int j=i-1;j;--j)
            if (l[j]+1>l[i] && v[j].x<v[i].x && v[j].y<v[i].y && v[j].z<v[i].z)
            {
                l[i]=l[j]+1;
                if (l[i]>sol)
                    sol=l[i];
            }
    }
    return sol+1;
}
 
int main ()
{
    ifstream fin ("cutii.in");
    ofstream fout ("cutii.out");
    fin>>n>>t;
    for(;t--;)
    {
        for(int i=1;i<=n;++i)
            fin>>v[i].x>>v[i].y>>v[i].z;
        sort(v+1, v+n+1);
        fout<<solve()<<"\n";
    }
    return 0;
}