Cod sursa(job #580162)

Utilizator tinkyAndrei Ilisei tinky Data 12 aprilie 2011 19:42:36
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;
struct asd{int x,y,z;};
asd v[3501];
int sol[3501];
bool cmp(asd a,asd b)
{
	if (a.x<b.x) return 1;
	if (a.x==b.x&&a.y<b.y)	return 1;
	if (a.x==b.x&&a.y==b.y&&a.z<b.z) return 1;
	return 0;
}
int main()
{
	int i,j,n,t,mx;
	ifstream in("cutii.in");
	ofstream out("cutii.out");
	in>>n>>t;
	while (t)
	{
		for (i=1;i<=n;++i)
			in>>v[i].x>>v[i].y>>v[i].z;
		sort (v+1,v+n+1,cmp);
		mx=0;
		//memset(sol,0,sizeof(sol));
		for (i=2;i<=n;++i)
		{
			sol[i]=0;
			for (j=i-1;j;j--)
				if (sol[j]+1>sol[i]&&v[i].x>v[j].x&&v[i].y>v[j].y&&v[i].z>v[j].z)
					sol[i]=sol[j]+1;
			if (sol[i]>mx)
				mx=sol[i];
		}
		
		/*
		mx=0
		for (i=1;i<n;i++)
			mx=max(mx,sol[i]);
		*/
		out<<mx+1<<'\n';
		t--;
	}
}