Pagini recente » Cod sursa (job #2347769) | Diferente pentru utilizator/raresegay intre reviziile 5 si 4 | Cod sursa (job #1806932) | Cod sursa (job #633736) | Cod sursa (job #783543)
Cod sursa(job #783543)
#include <fstream>
#include <algorithm>
#define MAX_N 305
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
struct lx{
int x, y, z;
} A[MAX_N];
int Deg[MAX_N], Sol;
int N, T;
struct cmp
{
bool operator ()(const lx a, const lx b) const
{
return ((a.x < b.x));
}
};
void solve()
{
for(int i = 0; i < N; ++i)
{
fin>>A[i].x>>A[i].y>>A[i].z;
}
sort(A, A+N, cmp());
Sol = 0;
Deg[N - 1] = 1;
for(int i = N - 2; i >= 0; --i)
{
int Nr = 0;
for(int 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)
Nr = max(Nr, Deg[j]);
Deg[i] = Nr + 1;
if(Deg[i] > Sol)
Sol = Deg[i];
}
fout<<Sol;
}
int main()
{
fin>>N>>T;
while(T--)
solve();
}