Pagini recente » Cod sursa (job #1795976) | Cod sursa (job #2729331) | Cod sursa (job #1234429) | Cod sursa (job #2297639) | Cod sursa (job #127265)
Cod sursa(job #127265)
#include<stdio.h>
#include<string.h>
int l[3501][3],n,i,j,t,gr[3501],max,m[3501];
char a[3501][3501],viz[3501];
void DF(int vf)
{viz[vf]=1;
m[vf]=1;
for(int i=1;i<=n;i++)
if(a[vf][i]){
if(!viz[i]) DF(i);
if(m[vf]<m[i]+1) m[vf]=m[i]+1;}}
int main()
{freopen("cutii.in","r",stdin);
freopen("cutii.out","w",stdout);
scanf("%d %d",&n,&t);
for(;t;t--){
memset(a,0,sizeof(a));
memset(viz,0,sizeof(viz));
memset(m,0,sizeof(m));
memset(gr,0,sizeof(gr));
max=0;
for(i=1;i<=n;i++)
scanf("%d %d %d",&l[i][0],&l[i][1],&l[i][2]);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(l[j][0]<l[i][0]&&l[j][1]<l[i][1]&&l[j][2]<l[i][2])
a[i][j]=1,gr[j]++;
for(i=1;i<=n;i++)
if(!gr[i]){DF(i);
if(max < m[i]) max=m[i]; }
printf("%d\n",max);}
fclose(stdout);
return 0;}