Cod sursa(job #904596)

Utilizator Pop_EmilPal Tamas Pop_Emil Data 4 martie 2013 16:53:30
Problema Cutii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <algorithm>
using namespace std;


struct cutie
  {
    int x,y,z;
  };

struct cmp{
    bool operator()(cutie a,cutie b){return a.z<b.z;}
    };
cutie v[3500];

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

  int N,T,RESULT,MAX;

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

int lastx,lasty,lastz;

while(T--)
  {

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

 sort(v, v+N,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);

  }

return 0;
}