Pagini recente » Cod sursa (job #817242) | Cod sursa (job #2973094) | Cod sursa (job #2975151) | Cod sursa (job #239837) | Cod sursa (job #1390383)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
int N, T;
int maxim;
int dp[3505];
struct cutii
{
int x, y, z;
};
cutii A[3505];
bool cmp(cutii A, cutii B)
{
return A.x * A.y * A.z < B.x * B.y * B.z;
}
void scmax()
{
dp[1] = 1;
maxim = 1;
for (int i = 2; i < N; ++i)
{
dp[i] = 1;
for (int j = 1; j < i; ++j)
if (A[i].x > A[j].x && A[i].y > A[j].y && A[i].z > A[j].z && dp[i] < dp[j] + 1)
{
dp[i] = dp[j] + 1;
if (dp[i] > maxim)
maxim = dp[i];
}
}
}
int main()
{
fin >> N >> T;
while (T--)
{
for (int i = 1; i <= N; ++i)
fin >> A[i].x >> A[i].y >> A[i].z;
sort(A + 1, A + N + 1, cmp);
scmax();
fout << maxim + 1 << '\n';
}
fin.close();
fout.close();
return 0;
}