Pagini recente » Cod sursa (job #2408110) | Cod sursa (job #1507588) | Cod sursa (job #157186) | Cod sursa (job #925854) | Cod sursa (job #489161)
Cod sursa(job #489161)
/*
* 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()
{
ifstream f("cutii.in");
ofstream g("cutii.out");
f>>n>>t;
int i,j;
for(int z=1; z<=t; ++z) {
for(j=1; j<=n; ++j) f>>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]);
}
}
g<<sol<<'\n';
}
return 0;
}