Pagini recente » Cod sursa (job #3000351) | Cod sursa (job #1020556) | Cod sursa (job #1021847) | Cod sursa (job #3256393) | Cod sursa (job #2644260)
#include <bits/stdc++.h>
#define st first
#define nd second
#define N 3501
using namespace std;
FILE *fin=fopen("cutii.in","r");
FILE *fout=fopen("cutii.out","w");
struct chestie
{
int x, y, z;
}v[N];
int n, m, i, j, ans, dp[N], t;
bool comp(chestie a, chestie b)
{
if(a.x!=b.x)
return a.x<b.x;
if(a.y!=b.y)
return a.y<b.y;
return a.z<b.z;
}
int main()
{
fscanf(fin,"%d%d",&n,&t);
while(t--)
{
for(i=1;i<=n;++i)
{
dp[i]=0;
fscanf(fin,"%d%d%d",&v[i].x,&v[i].y,&v[i].z);
}
sort(v+1,v+n+1,comp);
dp[1]=1;
for(i=2;i<=n;++i)
for(j=1;j<i;++j)
if(v[i].x>v[j].x&&v[i].y>v[j].y&&v[i].z>v[j].z)
dp[i]=max(dp[i],dp[j]+1);
ans=0;
for(i=1;i<=n;++i)
ans=max(ans,dp[i]);
fprintf(fout,"%d\n",ans);
}
return 0;
}