Cod sursa(job #536564)

Utilizator bora_marianBora marian bora_marian Data 18 februarie 2011 19:51:06
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<fstream>
#include<algorithm>
using namespace std;
struct para{
	int x,y,z;};
para v[3503];
int lun[3503],maxim,t,n;
int cmp(para a,para b);
void solve();
int main()
{	
   ifstream fin("cutii.in");
   ofstream fout("cutii.out");
   fin>>n>>t;
   int i,j;
   for(i=1;i<=t;i++)
   {
	  for(j=1;j<=n;j++) 
	     fin>>v[j].x>>v[j].y>>v[j].z;
      sort(v+1,v+n+1,cmp);
      maxim=0;
      for(j=1;j<=n;j++)
         lun[i]=0;
      solve();
      fout<<maxim<<"\n";
    }
   return 0;
}
void solve()
{
	int i,j;
	lun[1]=1;
	for(i=2;i<=n;i++)
	{
	   lun[i]=1;
	   for(j=i-1;j>=1;j--)
	      if(v[i].x>v[j].x && v[i].y>v[j].y && v[i].z>v[j].z)
	         if(lun[j]+1>lun[i])
	           lun[i]=lun[j]+1;
	   if(lun[i]>maxim)
	     maxim=lun[i];
	 }
}
int cmp(para a,para b)
{
	if(a.x>b.x)
	  return 0;
	return 1;
}