Cod sursa(job #50150)

Utilizator wazupPricop Mircea wazup Data 6 aprilie 2007 21:54:47
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct  par { int a,b,c; };
par a[3500];
int s[3500],n,t,i,j,k,max;


int srt(const void *a,const void *b)
  {  return (*(par *)a).a-(*(par *)b).a;
  }

int main()
{
FILE *fin,*fout;
fin=fopen("cutii.in","rt");
fout=fopen("cutii.out","wt");
fscanf(fin,"%d %d",&n,&t);
for (k=1;k<=t;k++)
   { for (i=0;i<n;i++)
	fscanf(fin,"%d %d %d",&a[i].a,&a[i].b,&a[i].c);
     qsort((void *)a,n,sizeof(a[0]),srt);
     memset(s,0,sizeof(s));
     for (i=n-1;i>=0;i--)
       { max=i;
	 for (j=i+1;j<n;j++)
	   if (a[i].a<a[j].a&&a[i].b<a[j].b&&a[i].c<a[j].c&&s[j]>s[max])
	      max=j;
	 s[i]=s[max]+1;
       }
     max=0;
     for (i=0;i<n;i++)
       if (s[i]>max)
	 max=s[i];
     fprintf (fout,"%d\n",max);
     }
return 0;
}