Cod sursa(job #715853)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 17 martie 2012 21:01:06
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
#include<algorithm>
#define dim 3500

using namespace std;

ifstream f("cutii.in");
ofstream g("cutii.out");
int L[dim],n,t;
struct dm{
	int x,y,z;	
} v[dim];
struct cmp {
	inline bool operator ()(const dm &a,const dm &b){
		return a.x<b.x;
	}
};	
void solve(){
	for(int i=1;i<=n;i++)
		f>>v[i].x>>v[i].y>>v[i].z;
	
	sort(v+1,v+1+n,cmp());
	L[n]=1;
	for(int i=1;i<=n-1;i++)
		L[i]=0;
	int max;
	int maxu=1;
	for(int i=n-1;i>=1;i--){
		max=0;
		for(int j=i+1;j<=n;j++){
			
			if(L[j]>max && v[j].x>=v[i].x && v[j].y>=v[i].y && v[j].z>=v[i].z){
				
				max=L[j];
			}
			
		}
		L[i]=max+1;
		if(L[i]>maxu)
			maxu=L[i];
	}
	g<<maxu<<"\n";
}
int main (){
	f>>n>>t;
	for(;t;t--)
		solve();
	return 0;
}