Pagini recente » Cod sursa (job #2989152) | Cod sursa (job #523467) | Cod sursa (job #2562417) | Cod sursa (job #1585906) | Cod sursa (job #50150)
Cod sursa(job #50150)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct par { int a,b,c; };
par a[3500];
int s[3500],n,t,i,j,k,max;
int srt(const void *a,const void *b)
{ return (*(par *)a).a-(*(par *)b).a;
}
int main()
{
FILE *fin,*fout;
fin=fopen("cutii.in","rt");
fout=fopen("cutii.out","wt");
fscanf(fin,"%d %d",&n,&t);
for (k=1;k<=t;k++)
{ for (i=0;i<n;i++)
fscanf(fin,"%d %d %d",&a[i].a,&a[i].b,&a[i].c);
qsort((void *)a,n,sizeof(a[0]),srt);
memset(s,0,sizeof(s));
for (i=n-1;i>=0;i--)
{ max=i;
for (j=i+1;j<n;j++)
if (a[i].a<a[j].a&&a[i].b<a[j].b&&a[i].c<a[j].c&&s[j]>s[max])
max=j;
s[i]=s[max]+1;
}
max=0;
for (i=0;i<n;i++)
if (s[i]>max)
max=s[i];
fprintf (fout,"%d\n",max);
}
return 0;
}