Pagini recente » Cod sursa (job #2988466) | Cod sursa (job #975970) | Cod sursa (job #1187008) | Cod sursa (job #1219627) | Cod sursa (job #40936)
Cod sursa(job #40936)
#include <cstdio>
#include <algorithm>
#include <string>
#define maxn 3502
using namespace std;
struct nod { int x, y, z;};
nod x[maxn];
int a[maxn];
int n, T;
void calcul();
void citire()
{
int i,k;
freopen("cutii.in", "r", stdin);
scanf("%d %d\n", &n, &T);
for(k=1;k<=T;k++)
{
for(i=1;i<=n;i++) scanf("%d %d %d\n", &x[i].x, &x[i].y, &x[i].z);
calcul();
}
}
bool operator<(const nod &a, const nod &b)
{
if(a.z<=b.z) return 1;
return 0;
}
void calcul()
{
sort(x+1, x+n+1);
int i, j;
memset(a, 0, sizeof(a));
a[n]=1;
for(i=n-1;i>=1;i--)
for(j=i;j<=n;j++) if(x[i].x<=x[j].x && x[i].y<=x[j].y && a[i]<a[j]+1) a[i]=a[j]+1;
int max=0;
for(i=1;i<=n;i++) if(max<a[i]) max=a[i];
printf("%d\n",max);
}
int main()
{
freopen("cutii.out", "w",stdout);
citire();
return 0;
}