Pagini recente » Cod sursa (job #2658612) | Cod sursa (job #11535)
Cod sursa(job #11535)
#include<fstream.h>
struct xyz
{
int x,y,z;
};
xyz a[3501];
int n,t,i,j,k,lg[3501];
void quick(int p,int q)
{
int i,j,t,aux;
if(p<q)
{
i=p;
j=q;
t=1;
do
{
if(a[i].x>a[j].x)
{
aux=a[i].x;
a[i].x=a[j].x;
a[j].x=aux;
aux=a[i].y;
a[i].y=a[j].y;
a[j].y=aux;
aux=a[i].z;
a[i].z=a[j].z;
a[j].z=aux;
t=!t;
}
if(t)
j--;
else
i++;
}while(i!=j);
quick(p,i-1);
quick(i+1,q);
}
}
int main()
{
ifstream f("cutii.in");
ofstream g("cutii.out");
f>>n>>t;
while(t)
{
int max=0,s;
for(i=1;i<=n;i++)
f>>a[i].x>>a[i].y>>a[i].z;
quick(1,n);
for(i=n;i>=1;i--)
{
k=i;
s=i;
for(j=k-1;j>=1;j--)
if(a[k].x>a[j].x&&a[k].y>a[j].y&&a[k].z>a[j].z)
{
lg[s]++;
k=j;
}
}
t--;
for(i=n;i>=k;i--)
if(lg[i]>max)
{
max=lg[i];
lg[i]=0;
}
else
lg[i]=0;
g<<(max+1)<<'\n';
}
return 0;
}