Cod sursa(job #903995)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 3 martie 2013 15:49:28
Problema Cutii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
#define maxn 3501


class cutie
  {
  public:
    int x;
	int y;
    int z;
  };


bool cmp( cutie a, cutie b)
   {
     return a.z < b.z;
   }

int main()
{
  FILE *in=fopen("cutii.in","r"),*out=fopen("cutii.out","w");

  int N,T,RESULT,MAX;

  fscanf(in,"%d",&N);
  fscanf(in,"%d",&T);

 cutie sgd;
 vector<cutie> v;
int lastx,lasty,lastz;

while(T--)
  {

    v.clear();

    for(int i=0;i<N;i++)
	{
		fscanf(in,"%d",&sgd.x);
		fscanf(in,"%d",&sgd.y);
		fscanf(in,"%d",&sgd.z);

		v.push_back(sgd);
	}

   sort(v.begin(), v.end(),cmp );

   MAX=1;
  for(int i=0;i<N-1;i++)
   {
     lastx=v[i].x;
     lasty=v[i].y;
     lastz=v[i].z;

     RESULT=1;
     for(int j=i+1;j<N;j++)
      if(v[j].z!=lastz && v[j].x > lastx && v[j].y > lasty){ RESULT++; lastz=v[j].z; lastx=v[j].x; lasty=v[j].y; }

     if(RESULT>MAX)MAX=RESULT;

   }

  fprintf(out,"%d\n",MAX);

  }


}