Pagini recente » Cod sursa (job #59522) | Cod sursa (job #780905) | Cod sursa (job #734377) | Cod sursa (job #459023) | Cod sursa (job #35243)
Cod sursa(job #35243)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
struct ent {
int x, y, z;
};
struct cmp {
bool operator() ( ent a, ent b ) {
return a.z < b.z;
}
};
#define NX 3501
ent v[ NX ];
int c[ NX ];
inline
void umax( int& x, int y ) {
if( x < y )
x = y;
}
inline
bool intra( int a, int b ) {
return ( v[a].x < v[b].x && v[a].y < v[b].y );
}
void cit() {
int i, k, vmax, tmax, N, T;
scanf( "%d%d", &N, &T );
for( ; T; T-- ) {
for( i = 0; i < N; i++ )
scanf( "%d%d%d", &v[i].x, &v[i].y, &v[i].z );
sort( v, v + N, cmp() );
c[0] = 1; tmax = 1;
for( i = 1; i <= N; i++ ) {
vmax = 1;
for( k = 1; i - k >= 0 ; k++ )
if( intra( i-k, i ) )
umax( vmax, c[i-k] + 1 );
c[i] = vmax;
umax( tmax, vmax );
}
printf( "%d\n", tmax );
}
}
int main() {
freopen( "cutii.in", "r", stdin );
freopen( "cutii.out", "w", stdout );
cit();
return 0;
}