Pagini recente » Cod sursa (job #2077291) | Cod sursa (job #2101842) | Cod sursa (job #1928867) | Cod sursa (job #1521) | Cod sursa (job #2922050)
/*
Jai Shri Ram
*/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
os << "[";
for (int i = 0; i < int(v.size()); ++i) {
os << v[i];
if (i != v.size() - 1) {
os << ", ";
}
}
os << "]\n";
return os;
}
template <typename T, typename U>
ostream& operator<<(ostream& os, const pair<T, U>& p) {
os << "[";
os << p.first;
os << ", ";
os << p.second;
os << "]";
return os;
}
#ifndef ONLINE_JUDGE
#define debug(x) cout << (#x) << " is " << (x) << endl
#else
#define debug(...) 42
#endif
struct pt {
int x, y, z;
pt(int _x, int _y, int _z) {
x = _x;
y = _y;
z = _z;
}
};
int n;
void solve() {
vector<pt>st;
for (int i = 0; i < n; i++) {
int a, b, c;
cin >> a >> b >> c;
st.push_back(pt(a, b, c));
}
vector<int>dp(n, 1);
for (int i = 1; i < n; i++) {
for (int j = 0; j < i; j++) {
if (st[i].x > st[j].x && st[i].y > st[j].y && st[i].z > st[j].z) {
dp[i] = max(dp[i], 1 + dp[j]);
}
}
}
cout << *max_element(dp.begin(), dp.end()) << endl;
}
int main() {
#ifndef ONLINE_JUDGE
freopen("cutii.in", "r", stdin);
freopen("cutii.out", "w", stdout);
#endif
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int T;
T = 1;
cin >> n >> T;
while (T--) {
solve();
}
}