Pagini recente » Cod sursa (job #1804797) | Cod sursa (job #3122715) | Cod sursa (job #1813981) | Cod sursa (job #2640340) | Cod sursa (job #1417373)
#include <iostream>
#include <fstream>
#include <algorithm>
#define NMax 3505
using namespace std;
int N,T,Max,v[NMax];
struct Cutie
{
int x,y,z;
}A[NMax];
ifstream g("cutii.in");
ofstream f("cutii.out");
bool comp(Cutie A,Cutie B)
{
return (A.x<B.x || (A.x==B.x && A.y<B.y) || (A.x==B.x &&A.y==B.y && A.z<B.z));
}
void SubsirComunMaximal()
{
v[1]=1;
Max=1;
for(int i=2;i<=N;i++)
{
v[i]=1;
for(int j=1;j<i;j++)
if(A[i].x>A[j].x && A[i].y>A[j].y && A[i].z>A[j].z && v[i]<v[j]+1)
{
v[i]=v[j]+1;
if(v[i]>Max)
Max=v[i];
}
}
}
int main()
{
g>>N>>T;
for(int k=1;k<=T;k++)
{
for(int i=1;i<=N;i++)
g>>A[i].x>>A[i].y>>A[i].z;
sort(A+1,A+N+1,comp);
SubsirComunMaximal();
f<<Max<<"\n";
}
}