Pagini recente » Cod sursa (job #263717) | Cod sursa (job #2413481) | Cod sursa (job #757104) | Cod sursa (job #1202927) | Cod sursa (job #355225)
Cod sursa(job #355225)
#include <iostream>
#include <fstream>
#define MAXN 3600
using namespace std;
struct Cutie {
int X,Y,Z;
} B[MAXN];
int N,T,C[MAXN];
inline bool lessCutie(Cutie A,Cutie B) {
return A.X < B.X && A.Y < B.Y && A.Z < B.Z;
}
ifstream fin("cutii.in");
ofstream fout("cutii.out");
int main() {
int i,j,maxc;
Cutie aux;
fin >> N >> T;
while (T--) {
memset(B,0,sizeof(B));
for (i=0;i<N;++i) fin >> B[i].X >> B[i].Y >> B[i].Z;
for (i=0;i<N;++i)
for (j=i+1;j<N;++j)
if (B[i].X * B[i].Y * B[i].Z < B[j].X * B[j].Y * B[j].Z) {
aux = B[i];
B[i] = B[j];
B[j] = aux;
}
C[0] = 1;
for (i=1;i<N;++i) {
maxc = 0;
for (j=i-1;j>=0;--j) {
if (lessCutie(B[i],B[j])) {
if (C[j] > maxc)
maxc = C[j];
}
}
C[i] = maxc + 1;
}
maxc = C[0];
for (i=0;i<N;++i) {
if (maxc < C[i]) maxc = C[i];
}
fout << maxc << "\n";
}
return 0;
}