Pagini recente » Cod sursa (job #2163724) | Cod sursa (job #738632) | Cod sursa (job #2227977) | Cod sursa (job #43837) | Cod sursa (job #868530)
Cod sursa(job #868530)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define Nmax 3501
int N, T, maxim, k , nr = 1;
typedef struct cutie{
int l;
int L;
int h;
};
cutie v[Nmax];
int best[Nmax];
bool functie(cutie x, cutie y){
if(x.l < y.l)
return 1;
return 0;
}
inline int compara(cutie x, cutie y){
if(x.L < y.L && x.h < y.h)
return 1;
return 0;
}
void dinamica(){
maxim = 0;
for(int i = 1; i <= N; ++i){
best[i] = 0;
for(int j = i; j >= 1; --j)
if(compara(v[j], v[i]) && best[j] + 1 > best[i])
best[i] = best[j] + 1;
if(best[i] > maxim)
maxim = best[i];
}
printf("%d\n", maxim+1);
}
void rezolva(){
freopen("cutii.in", "r", stdin);
freopen("cutii.out", "w", stdout);
scanf("%d %d", &N, &T);
for(; T; T--){
for(int i = 1; i <= N; ++i)
scanf("%d %d %d", &v[i].l, &v[i].L, &v[i].h);
//sort(v+1, v+N+1, functie);
dinamica();
}
}
int main(){
rezolva();
return 0;
}