Pagini recente » Cod sursa (job #169826) | Cod sursa (job #752989) | Monitorul de evaluare | Cod sursa (job #1961774) | Cod sursa (job #1171452)
# include <algorithm>
using namespace std ;
struct cut {
int X, Y, Z ;
} A[3505] ;
int best[3505] ;
int N, T ;
const bool operator < (const cut &a, const cut &b) {
return a.X < b.X ;
}
int main (void) {
freopen ("cutii.in", "r", stdin) ;
freopen ("cutii.out", "w", stdout) ;
for (scanf ("%d %d", &N, &T) ; T ; --T) {
for (int i = 1; i <= N; ++i) {
scanf ("%d %d %d", &A[i].X, &A[i].Y, &A[i].Z) ;
}
sort (A + 1, A + N + 1);
continue;
int sol = 1 ;
for (int i = 1; i <= N; ++i) {
best[i] = 1 ;
for (int j = i - 1; j ; --j) {
if (A[j].Y < A[i].Y && A[j].Z < A[i].Z && best[i] <= best[j]) {
best[i] = best[j] + 1;
}
if (sol < best[i]) {
sol = best[i] ;
}
}
}
printf ("%d\n", sol) ;
}
return 0 ;
}