Cod sursa(job #536708)

Utilizator loginLogin Iustin Anca login Data 19 februarie 2011 08:51:57
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
# include <fstream>
# include <algorithm>
# define DIM 3503
using namespace std;
struct nod{
	int x, y, z;
	friend bool operator < (const nod &a, const nod &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;
	}
}v[DIM];
int n, t, l[DIM];

int solve ()
{
	int sol=0;
	for(int i=2;i<=n;++i)
	{
		l[i]=0;
		for(int j=i-1;j;--j)
			if (l[j]+1>l[i] && v[j].x<v[i].x && v[j].y<v[i].y && v[j].z<v[i].z)
			{
				l[i]=l[j]+1;
				if (l[i]>sol)
					sol=l[i];
			}
	}
	return sol+1;
}

int main ()
{
	ifstream fin ("cutii.in");
	ofstream fout ("cutii.out");
	fin>>n>>t;
	for(;t--;)
	{
		for(int i=1;i<=n;++i)
			fin>>v[i].x>>v[i].y>>v[i].z;
		sort(v+1, v+n+1);
		fout<<solve()<<"\n";
	}
	return 0;
}