Pagini recente » Cod sursa (job #2987737) | Cod sursa (job #672325) | Cod sursa (job #2776947) | Cod sursa (job #3288863) | Cod sursa (job #694091)
Cod sursa(job #694091)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
int i,n,j,maxi,a[3500],t;
struct cutie { int x,y,z;
} v[3500];
int fcomp(const void *x, const void *y)
{ cutie a=* (cutie *) x;
cutie b=* (cutie *) y;
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()
{ f>>n>>t;
while(t)
{ for(i=1;i<=n;i++) f>>v[i].x>>v[i].y>>v[i].z;
qsort(v+1,n,sizeof(cutie),fcomp);
a[n]=1;
for(i=n;i>=1;i--)
for(j=i-1;j>=1;j--) if(v[j].x<v[i].x&&v[j].y<v[i].y&&v[j].z<v[i].z&&a[i]+1>a[j]) a[j]=a[i]+1;
maxi=0;
for(i=1;i<=n;i++) if(a[i]>maxi) maxi=a[i];
g<<maxi<<"\n";
t--;
for(i=1;i<=n;i++) a[i]=0;
}
f.close();
g.close();
return 0;
}