Pagini recente » Cod sursa (job #3129979) | Cod sursa (job #1685997) | Cod sursa (job #1105549) | Cod sursa (job #2230931) | Cod sursa (job #578414)
Cod sursa(job #578414)
#include <cstdio>
#include <fstream>
#include <algorithm>
using namespace std;
#define nn 3501
struct cutii {
int a,b,c;
};
cutii v[nn];
int f[nn];
int n,t;
bool compara (cutii x,cutii y){
if(x.a<y.a) return 1;
if(x.a==y.a&&x.b<y.b) return 1;
if(x.a==y.a&&x.b==y.b&&x.c<y.c) return 1;
return 0;}
int solve (){
int s=0;
for(int i=2;i<=n;++i){
f[i]=0;
for(int j=i-1;j;--j)
if(f[j]+1>f[i] && v[i].a>v[j].a && v[i].b>v[j].b && v[i].c>v[j].c){
f[i]=f[j]+1;
if(f[i]>s)
s=f[i]+1;
}
}
return s;}
int main ()
{
ifstream in ("cutii.in");
freopen ("cutii.out","w",stdout);
for(in>>n>>t;t;--t){
for(int i=1;i<=n;++i)
in>>v[i].a>>v[i].b>>v[i].c;
sort(v+1,v+n+1,compara);
printf("%d\n",solve ());
}
in.close ();
return 0;}