Pagini recente » Cod sursa (job #493894) | Cod sursa (job #852104) | Cod sursa (job #2764950) | Cod sursa (job #2881343) | Cod sursa (job #111283)
Cod sursa(job #111283)
#include <cstdio>
#include <stdlib.h>
#define NMax 3500
long n, t;
FILE *f, *g;
long max[NMax];
struct cutie
{
int x, y, z;
}a[NMax];
int sort_function( const void* a, const void *b );
void doall();
int main()
{
long i;
f = fopen( "cutii.in", "rt" );
g = fopen( "cutii.out", "wt" );
fscanf( f, "%ld %ld", &n, &t );
for (i=0; i<t; i++)
{
doall();
}
return 0;
}
void doall()
{
long i, j, aux = 0;
for (i=0; i<n; i++)
{
fscanf( f, "%ld %ld %ld", &a[i].x, &a[i].y, &a[i].z );
max[i] = 1;
}
qsort( (void*)a, n, sizeof(a[0]), sort_function );
for (i=n-2; i>=0; i--)
for (j=i+1; j<n; j++)
if ( a[i].x > a[j].x && a[i].y > a[j].y && a[i].z > a[j].z && max[i] < max[j]+1 )
max[i] = max[j]+1;
for (i=0; i<n; i++)
if ( aux < max[i] )
aux = max[i];
fprintf( g, "%ld\n", aux );
}
int sort_function(const void* a, const void *b )
{
return ((cutie*)b )->z - ((cutie*)a)->z;
}