Pagini recente » Cod sursa (job #2988962) | Cod sursa (job #1517727) | Cod sursa (job #2587335) | Cod sursa (job #2436312) | Cod sursa (job #273118)
Cod sursa(job #273118)
// cutii.in.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <stdlib.h>
int N,T;
struct interval
{
int a,b,c;
};
interval e[4000];
char c[4000];
int aux[3];
int compar(const void *a, const void *b)
{
return(*(int*)a -*(int*)b);
}
int main()
{
int i,j,f,g,h,l,maxim=1,curent=1;
FILE *f1,*f2;
f1=fopen("cutii.in","r");
f2=fopen("cutii.out","w");
fscanf(f1,"%d %d",&N,&T);
for(i=1;i<=T;i++)
{
maxim=0;
for(j=1;j<=N;j++)
{
fscanf(f1,"%d %d %d",&aux[0],&aux[1],&aux[2]);
qsort(aux,3,sizeof(int),compar);
e[j].a=aux[2];
e[j].b=aux[1];
e[j].c=aux[0];
}
qsort(e,N,sizeof(int),compar);
for(j=1;j<=N;j++)
{
if(c[j]==1)
continue;
aux[0]=e[j].a;
aux[1]=e[j].b;
aux[2]=e[j].c;
curent=1;
for(l=j+1;l<=N;l++)
{
if(c[l]==1)
continue;
if(aux[0]<=e[l].a && aux[1]<=e[l].b && aux[2]<=e[l].c)
{
aux[0]=e[l].a;
aux[1]=e[l].b;
aux[2]=e[l].c;
curent++;
c[l]=1;
}
}
if(curent>maxim)
maxim=curent;
}
for(j=1;j<=N;j++)
c[j]=0;
fprintf(f2,"%d\n",maxim);
}
return 0;
}