Pagini recente » Cod sursa (job #1175528) | Cod sursa (job #52724) | Cod sursa (job #1522144) | Cod sursa (job #409835) | Cod sursa (job #2953529)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("cutii.in");
ofstream cout("cutii.out");
const int N = 3509;
int n,t;
struct cuti
{
int x,y,z;
bool operator < (cuti b)
{
return (x<b.x&&y<b.y&&z<b.z);
}
};
int main()
{
cin>>n>>t;
while(t--)
{
cuti v[N];
int dp[N],ans = 0; /// dp[i] lungimea celui mai lung subsir care se termina in v[i]
dp[0] = 0;
for(int i=1;i<=n;++i)
cin>>v[i].x>>v[i].y>>v[i].z,dp[i]=0;
sort(v+1,v+n+1);
for(int i=1;i<=n;++i)
{
dp[i] = 1;
for(int j=1;j<i;++j)
if(v[j]<v[i])
dp[i] = max(dp[i],dp[j]+1);
ans = max(ans,dp[i]);
}
cout<<ans<<'\n';
}
return 0;
}