Pagini recente » Cod sursa (job #953036) | Cod sursa (job #1275847) | Cod sursa (job #1018262)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin( "cutii.in" );
ofstream cout( "cutii.out" );
const int MAXN = 3501;
struct bo{
short x, y, z;
} box[MAXN];
struct ClassComp {
inline bool operator () (const bo &a, const bo &b) const {
return a.z < b.z;
}
};
short N, T, Ans, dp[MAXN];
inline bool fits(const bo &a, const bo &b) {
return a.x > b.x && a.y > b.y;
}
inline void Read() {
for(int i = 1 ; i <= N ; ++ i)
cin >> box[i].x >> box[i].y >> box[i].z;
}
inline void Solve() {
sort(box + 1, box + N + 1, ClassComp());
for(int i = 1 ; i <= N ; ++ i) {
dp[i] = 1;
for(int j = 1 ; j < i ; ++ j)
if(dp[i] < dp[j] + 1 && fits(box[i], box[j]))
dp[i] = dp[j] + 1;
}
cout << *max_element(dp+1, dp+N+1) << '\n';
}
inline void Clear() {
for(int i = 1 ; i <= N ; ++ i)
dp[i] = 0;
Ans = 0;
}
int main() {
for(cin >> N >> T ; T ; -- T) {
Read();
Solve();
Clear();
}
cin.close();
cout.close();
return 0;
}