Pagini recente » Cod sursa (job #2219429) | Cod sursa (job #1449350) | Cod sursa (job #2559769) | Cod sursa (job #1000547) | Cod sursa (job #489162)
Cod sursa(job #489162)
/*
* File: main.cpp
* Author: petru
*
* Created on 2010-10-01
*/
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <deque>
#include <set>
#include <bitset>
#include <algorithm>
#define LL long long
#define x first
#define y second
#define DN 3505
using namespace std;
struct trei {
int a,b,c;
}cutie[DN];
int n,t,lmax[DN];
static bool operator < ( const trei &a, const trei &b ) {
return a.a < b.a ;
}
bool check (int i, int j) {
return (cutie[j].b<cutie[i].b&&cutie[j].c<cutie[i].c&&lmax[i]<=lmax[j]);
}
int main()
{
freopen ( "cutii.in", "r", stdin ) ;
freopen ( "cutii.out", "w", stdout ) ;
scanf("%d %d",&n,&t);
int i,j;
for(; t; --t) {
for(j=1; j<=n; ++j) scanf("%d %d %d",&cutie[j].a,&cutie[j].b,&cutie[j].c);
sort(cutie+1,cutie+n+1);
int sol=1;
for(i=1; i<=n; ++i) {
lmax[i]=1;
for(j=i-1; j>0; --j) {
if ( check(i,j)) lmax[i]=lmax[j]+1;
sol=max(sol,lmax[i]);
}
}
printf("%d\n",sol);
}
return 0;
}