Pagini recente » Cod sursa (job #3198432) | Cod sursa (job #1369270) | Cod sursa (job #1647280) | Cod sursa (job #1424877) | Cod sursa (job #693198)
Cod sursa(job #693198)
#include<fstream.h>
ifstream f("cutii.in");
ofstream g("cutii.out");
int i,n,j,max,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;
max=0;
for(i=1;i<=n;i++) if(a[i]>max) max=a[i];
g<<max<<"\n";
t--;
for(i=1;i<=n;i++) a[i]=0;
}
f.close();
g.close();
return 0;
}