Pagini recente » Cod sursa (job #658881) | Cod sursa (job #1494634) | Cod sursa (job #586896) | Cod sursa (job #3173287) | Cod sursa (job #2508406)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
struct cutie
{
int x,y,z;
};
cutie v[3501];
int n,t,i,j;
int lg[3501], maxim, rez;
bool cmp(cutie a, cutie b)
{
if (a.x<b.x)
return 1;
if (a.x==b.x && a.y<b.y)
return 1;
if (a.x==b.x && a.y==b.y && a.z<b.z)
return 1;
return 0;
}
int main()
{
f>>n>>t;
while (t--)
{
for (i=1;i<=n;i++)
f>>v[i].x>>v[i].y>>v[i].z;
sort(v+1, v+n+1, cmp);
rez=0;
lg[n]=1;
for (i=n-1;i>=1;i--)
{
maxim=0;
for (j=i+1;j<=n;j++)
if (v[i].x<v[j].x && v[i].y<v[j].y && v[i].z<v[j].z && lg[j]>maxim)
maxim=lg[j];
lg[i]=maxim+1;
if (lg[i]>rez)
rez=lg[i];
}
g<<rez<<"\n";
}
return 0;
}