Pagini recente » Cod sursa (job #1484880) | Cod sursa (job #2960712) | Cod sursa (job #2064630) | Borderou de evaluare (job #1222182) | Cod sursa (job #2973262)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
struct Data{
int i, j, l;
}x[4000];
int y[4000];
bool C(Data a, Data b)
{if(a.i<b.i || (a.i==b.i && (a.j<b.j || (a.l<=b.l && a.j==b.j))))return 1;
return 0;
}
int main()
{ int n, T;
fin>>n>>T;
for(int i=1;i<=T;i++)
{int maxi=-1;
for(int j=1;j<=n;j++)
fin>>x[j].i>>x[j].j>>x[j].l;
sort(x+1, x+1+n, C);
for(int j=1;j<=n;j++)
{int p=0;
for(int l=j-1;l>0;l--)
if(y[p]<y[l] && x[l].i<x[j].i && x[l].j<x[j].j && x[l].l<x[j].l)p=l;
y[j]=1+y[p];
if(y[j]>maxi)maxi=y[j];
}
fout<<maxi<<"\n";
}
return 0;
}