Cod sursa(job #2432973)

Utilizator bluestorm57Vasile T bluestorm57 Data 25 iunie 2019 16:38:17
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("cutii.in");
ofstream g("cutii.out");

const int NMAX = 3510;
struct cutie{
    int x,y,z;
}v[NMAX];
int n,t,best[NMAX];

bool cmp(const cutie &X, const cutie &Y){
    if(X.x < Y.x) return 1;
    if(X.x == Y.x){
        if(X.y < Y.y) return 1;
        if(X.y == Y.y && X.z < Y.z) return 1;
    }
    return 0;
}

int main(){
    int i,j;
    f >> n >> t;

    while(t){
        for(i = 1 ; i <= n ; i++)
            f >> v[i].x >> v[i].y >> v[i].z;

        //sort(v + 1, v + n + 1, cmp);

        //for(i = 1 ; i <= n ; i++)
        //  g << v[i].x << " " << v[i].y << " " << v[i].z << "\n";

        best[n] = 1;
        for(i = n ; i > 0 ; i--)
            for(j = i + 1 ; j <= n ; 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);
                    j = n + 5;
                }
            }
        int ans = 0;
        for(i = 1 ; i <= n ; i++)
            ans = max(ans, best[i]);
        g << ans << "\n";
            //g << best[i] << " ";
        memset(best, 0, n + 5);
    t--;
    }

    return 0;
}