Cod sursa(job #693199)

Utilizator cashinmypocketAndrei Mihu cashinmypocket Data 27 februarie 2012 10:46:48
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
int i,n,j,maxi,a[3500],t;
struct cutie { int x,y,z;
             } v[3500];
int fcomp(const void *x, const void *y)
{ cutie a=* (cutie *) x;
  cutie b=* (cutie *) y;
  if(a.x-b.x) return a.x-b.x;
  if(a.y-b.y) return a.y-b.y;
  return a.z-b.z;
}
int main()
{ f>>n>>t;
  while(t) 
  { for(i=1;i<=n;i++) f>>v[i].x>>v[i].y>>v[i].z;
    qsort(v+1,n,sizeof(cutie),fcomp);
    a[n]=1;
    for(i=n;i>=1;i--) 
       for(j=i-1;j>=1;j--) if(v[j].x<v[i].x&&v[j].y<v[i].y&&v[j].z<v[i].z&&a[i]+1>a[j]) a[j]=a[i]+1;
    maxi=0;
    for(i=1;i<=n;i++) if(a[i]>maxi) maxi=a[i];
	g<<maxi<<"\n";
	t--;
	for(i=1;i<=n;i++) a[i]=0;
  }
  f.close();
  g.close();
  return 0;
}