Pagini recente » Cod sursa (job #1243650) | Cod sursa (job #102984) | Cod sursa (job #2572746) | Cod sursa (job #699545) | Cod sursa (job #1656196)
#include <fstream>
#include <string>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
const int nmax= 3500;
int x[nmax+1], y[nmax+1], d[nmax+1];
string buffer;
string::iterator buffer_it;
void read_int_nn( int &x ) {
for ( ; *buffer_it>'9' || *buffer_it<'0'; ++buffer_it ) ;
for ( x= 0; *buffer_it<='9' && *buffer_it>='0'; ++buffer_it ) {
x= x*10+*buffer_it-'0';
}
}
int main( ) {
getline ( fin, buffer, (char)0 );
buffer_it= buffer.begin();
int n, t;
read_int_nn(n), read_int_nn(t);
for ( int cnt= 1; cnt<=t; ++cnt ) {
for ( int i= 1; i<=n; ++i ) {
int a, b, c;
read_int_nn(a), read_int_nn(b), read_int_nn(c);
x[a]= b, y[a]= c;
}
int sol= 0;
d[1]= 1;
for ( int i= 2; i<=n; ++i ) {
d[i]= 1;
for ( int j= 1; j<=i-1; ++j ) {
if ( x[i]>x[j] && y[i]>y[j] ) {
d[i]= max(d[i], d[j]+1);
sol= max(sol, d[i]);
}
}
}
fout<<sol<<"\n";
}
return 0;
}