Pagini recente » Cod sursa (job #1044660) | Cod sursa (job #2620482) | Cod sursa (job #852821) | Cod sursa (job #1163649) | Cod sursa (job #596734)
Cod sursa(job #596734)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define MaxN 3510
typedef struct
{
int x;
int y;
int z;
} xyz;
xyz A[MaxN];
int B[MaxN];
int N;
int T;
int MAX;
bool cmp(xyz a,xyz b)
{
if(a.x == b.x && a.y == b.y)
return a.z < b.z;
if(a.x == b.x)
return a.y < b.y;
return a.x < b.x;
}
int main()
{
FILE *f = fopen("cutii.in","r");
FILE *g = fopen("cutii.out","w");
fscanf(f,"%d %d ",&N,&T);
for(int i=1;i<=T;i++)
{
for(int j=1;j<=N;j++)
fscanf(f,"%d %d %d",&A[j].x,&A[j].y,&A[j].z);
sort(A+1,A+N+1,cmp);
MAX = 0;
for(int k=1;k<=N;k++)
{
B[k] = 1;
for(int l=k-1;l;l--)
if(A[k].x > A[l].x && A[k].y > A[l].y && A[k].z > A[l].z)
if(B[k] < B[l] + 1)
B[k] = B[l] + 1;
if(MAX < B[k])
MAX = B[k];
}
fprintf(g,"%d\n",MAX);
}
fclose(g);
fclose(f);
return 0;
}