Pagini recente » Cod sursa (job #2328727) | Cod sursa (job #229071) | Cod sursa (job #762004) | Cod sursa (job #761587) | Cod sursa (job #514865)
Cod sursa(job #514865)
#include <fstream>
#include <algorithm>
using namespace std;
#define dim 3510
int best[dim];
struct lista
{
int x, y, z;
}v[dim];
int cmp(lista a,lista 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);
};
int max(int a, int b)
{
if(a<b)
return 1;
return 0;
}
int main()
{
ifstream fin("cutii.in");
ofstream fout("cutii.out");
int n, t, i,maxim,j;
fin>>n;
fin>>t;
for( ; t ;--t)
{
for(i=1;i<=n;++i)
fin>> v[i].x >>v[i].y >>v[i].z;
sort(v+1,v+n+1,cmp);
best[1]=1;
maxim=1;
for(i=1;i<=n;++i)
{
for(j=i-1;j>=1;--j)
{
if(max(v[j].x,v[i].x)==1)
if(max(v[j].y,v[i].y)==1)
if(max(v[j].z,v[i].z)==1)
if(best[j]+1>best[i])
{
best[i]=best[j]+1;
if(best[j]+1>maxim)
maxim=best[j]+1;
}
}
}
for(i=1;i<=n;++i)
best[i]=0;
fout<<maxim <<'\n';
}
return 0;
}