Cod sursa(job #182899)

Utilizator AlxCojocaru Alexandru Alx Data 21 aprilie 2008 14:23:46
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
struct cutie
{
 int x,y,z;
};
int csort(cutie* a,cutie* b)
{
 if (a->x>b->x)
  return 1;
 return -1;
}
int sort(const void *a,const void *b)
{
 return csort((cutie*)a,(cutie*) b);
}
cutie c[3501];
int n,t,nr[3501],mx;
int main()
{
 freopen("cutii.in","r",stdin);
 freopen("cutii.out","w",stdout);
 scanf("%d %d\n",&n,&t);
 int i,j;
 for (int k=0;k<t;k++)
 {
  for (i=0;i<n;i++)
   scanf("%d %d %d\n",&c[i].x,&c[i].y,&c[i].z);
  qsort((void*)c,n,sizeof(c[0]),sort);
  memset(nr,0,sizeof(nr));
  nr[0]=1;
  mx=1;
  for (i=1;i<n;i++)
  {
   nr[i]=1;
   for (j=0;j<i;j++)
    if (c[i].y>c[j].y&&c[i].z>c[j].z&&nr[i]<nr[j]+1)
     nr[i]=nr[j]+1;
   if (mx<nr[i])
    mx=nr[i];
  }
  printf("%d\n",mx);
 }
 return 0;
}