Pagini recente » Cod sursa (job #1737089) | Cod sursa (job #425318) | Cod sursa (job #82418) | Cod sursa (job #1588737) | Cod sursa (job #2068478)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
struct cutie
{
int x, y, z;
bool operator<(const cutie & a) const
{
if (x != a.x)
return x < a.x;
if (y != a.y)
return y < a.y;
return z < a.z;
}
};
bool cmp(cutie a, cutie b)
{
return a.x > b.x && a.y > b.y && a.z > b.z;
}
void init_array(int v[], int n)
{
for (int i = 0; i < n; i++)
v[i] = 0;
}
int main()
{
int t, n, dp[3501];
cutie v[3501];
fin >> n >> t;
while (t)
{
int mx = 0;
for (int i = 1; i <= n; i++)
fin >> v[i].x >> v[i].y >> v[i].z;
sort(v + 1, v + n + 1);
init_array(dp, n + 1);
for (int i = 1; i <= n; i++)
{
for (int j = 0; j < i; j++)
if (cmp(v[i], v[j]) && dp[j] + 1 > dp[i])
dp[i] = dp[j] + 1;
mx = max(mx, dp[i]);
}
fout << mx << '\n';
t--;
}
return 0;
}