Cod sursa(job #257854)

Utilizator geoNechifor George geo Data 14 februarie 2009 02:49:04
Problema Cutii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;

struct boxd{
int x,y,z;
};
boxd b[3500];

int box[3500];

int compareb (const void * p1, const void * p2)
{
	boxd *p1b = (boxd *)p1;
	boxd *p2b = (boxd *)p2;
	if (p1b->x<p2b->x)
		return -1;
	if (p1b->x>p2b->x)
		return 1;
	return 0;
}

int main()
{
	ifstream fin("cutii.in");
	ofstream fout("cutii.out");
	int n,t;
	fin>>n>>t;
	box[0]=1;
	for (int i=0;i<t;i++)
	{
		for (int j=0;j<n;j++)
		{
			fin>>b[j].x>>b[j].y>>b[j].z;
		}
		qsort(b,n,sizeof(b[0]),compareb);
		int bmax =1;
		for (int j=1;j<n;j++)
		{
			int max = 1;
			for (int k=0;b[k].x<b[j].x;k++)
			{
				if ((b[k].y<b[j].y)&&(b[k].z<b[j].z)&&((box[k]+1)>max))
					max = box[k]+1;
			}
			box[j] = max;
			if (max>bmax)
				bmax = max;
		}
		fout<<bmax<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}