Cod sursa(job #20163)

Utilizator FlorianFlorian Marcu Florian Data 20 februarie 2007 19:55:01
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
int main()
{int n,t,x[3502],y[3502],z[3502],i,p,k,j,ii,l[3502],q[3502],max,r;
FILE *f,*g;
f=fopen("cutii.in","r");
g=fopen("cutii.out","w");
fscanf(f,"%d %d",&n,&t);
for (r=1;r<=t;r++)
	{  ii=0;
	for (i=1; i<=n;i++)
		fscanf(f,"%d %d %d",&x[i],&y[i],&z[i]);
	q[n]=0; l[n]=1;
	 for (i=n-1; i>=1;i--)
			{max=0; k=0;
				for (j=i+1; j<=n;j++)
					if (x[i]<x[j]&&l[j]>max&&y[i]<y[j]&&z[i]<z[j]) {max=l[j]; k=j;}
	l[i]=max+1;
	q[i]=k;}
max=0;
for (i=1;i<=n;i++) if (l[i]>max) {max=l[i]; p=i;}
while (p!=0)
	{ii++;
	p=q[p];}
fprintf(g,"%d\n",ii);}
fclose(f);
fclose(g);
return 0;}