Cod sursa(job #404721)
Utilizator | Data | 26 februarie 2010 16:33:18 | |
---|---|---|---|
Problema | Cutii | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.14 kb |
#include<stdio.h>
#include<algorithm>
using namespace std;
struct dim{
int x,y,z,l;
};
int cmp(dim a,dim b){
return(a.x<b.x);
}
int main()
{
freopen("cutii.in","r",stdin);
freopen("cutii.out","w",stdout);
int a,b,c,i,j,x,k,mx=0,n,t,max=0;
dim v[3501];
scanf("%d%d",&n,&t);
for(k=1;k<=t;k++){
for(j=1;j<=n;j++){
scanf("%d%d%d",&v[j].x,&v[j].y,&v[j].z);
}
sort(v+1,v+n+1,cmp);
for(j=1;j<=n;j++){
v[j].l=1;
}
for(i=2;i<=n;i++){
for(j=1;j<i;j++){
if((v[j].y<v[i].y)&&(v[j].z<v[i].z)){
v[i].l++;
if(v[j].l>max){
max=v[j].l;
}
}
}
v[i].l=max+1;
}
for(i=1;i<=n;i++){
if(v[i].l>mx){
mx=v[i].l;
}
}
printf("%d\n",mx);
mx=0;
max=0;
}
return 0;
}