Pagini recente » Cod sursa (job #2984034) | Cod sursa (job #137883) | Cod sursa (job #374425) | Clasament lucrare_xi_d | Cod sursa (job #2282692)
#include <bits/stdc++.h>
using namespace std;
ifstream f ("cutii.in");
ofstream g ("cutii.out");
struct cutie
{
int x, y, z;
};
cutie gigel[3505];
int n, T, Max[3505], lmax;
bool cmp (cutie a, cutie b)
{
if (a.x > b.x) return false;
if (a.x == b.x && a.y > b.y) return false;
if (a.x == b.x && a.y == b.y && a.z > b.z) return false;
return true;
}
int main()
{
f >> n >> T;
for (; T; T--)
{
for (int i = 1; i <= n; i++)
{
f >> gigel[i].x >> gigel[i].y >> gigel[i].z;
}
for (int i = 1; i <= n; i++)
Max[i] = 0;
lmax = 0;
sort(gigel + 1, gigel + n + 1, cmp);
for (int i = 1; i <= n; i++)
{
for (int j = i - 1; j >= 1; j--)
{
if (gigel[j].x < gigel[i].x && gigel[j].y < gigel[i].y && gigel[j].z < gigel[i].z) Max[i] = max(Max[i], Max[j]);
}
Max[i]++;
if (Max[i] > lmax)
{
lmax = Max[i];
}
}
g << lmax << '\n';
}
return 0;
}