Pagini recente » Cod sursa (job #2278096) | Cod sursa (job #2403658) | Cod sursa (job #842653) | Cod sursa (job #1381169) | Cod sursa (job #302282)
Cod sursa(job #302282)
// cutii.in.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int N,T;
struct interval
{
int a,b,c;
};
interval e[4000];
int ver[4000];
char c[4000];
int aux[3];
int compar(const void *a, const void *b)
{
return(*(int*)a -*(int*)b);
}
void citire(FILE *f1)
{
for(int 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];
}
}
int main()
{
int i,j,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++)
{
citire(f1);
qsort(e+1,N,sizeof(int),compar);
for(j=1;j<=N;j++)
ver[j]=1;
maxim=1;
for(j=1;j<=N;j++)
for(l=j+1;l<=N;l++)
if(e[j].a<e[l].a && e[j].b<=e[l].b && e[j].c<=e[l].c)
if(ver[j]+1>ver[l])
ver[l]=ver[j]+1;
for(j=1;j<=N;j++)
if(ver[j]>maxim)
maxim=ver[j];
fprintf(f2,"%d\n",maxim);
}
return 0;
}