Pagini recente » Cod sursa (job #2918258) | Cod sursa (job #1604646) | Cod sursa (job #334542) | Cod sursa (job #330557) | Cod sursa (job #2115594)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
struct cutie{int x,y,z;}a[3505];
int n,t,d[3505],j,mx,d1[3505],d2[3505];
inline bool cmp(cutie A, cutie B)
{return A.x<B.x;
}
int main()
{int i;
fin>>n>>t;
while(t)
{mx=0;
for(i=1;i<=n;i++)
{fin>>a[i].x>>a[i].y>>a[i].z;
d[i]=1;
d1[i]=100000;
d2[i]=100000;
}
sort(a+1,a+n+1,cmp);
t--;
for(i=1;i<=n;i++)
{for(j=i-1;j>=1;j--)
{if(a[i].y>a[j].y&&a[i].z>a[j].z){d[i]=max(d[i],d[j]+1);
if(d1[d[i]]>a[i].y)d1[d[i]]=a[i].y;
if(d2[d[i]]>a[i].z)d2[d[i]]=a[i].z;
if(d[i]==mx+1||(d1[d[i]-1]>a[i].y||d2[d[i]-1]>a[i].z))break;
}
}
mx=max(d[i],mx);
}
fout<<mx<<"\n";
}
}