Pagini recente » Arhiva de probleme | Cod sursa (job #1569109) | Cod sursa (job #1116740) | Cod sursa (job #2017795) | Cod sursa (job #1962753)
#include <bits/stdc++.h>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
int n,t;
struct cutie{
int x;
int y;
int z;
};
bool cmp(const cutie &a, const cutie &b){
if(a.x<b.x)return 1;
if(a.x>b.x)return 0;
return 1;
}
int a[3502];
int main()
{
f>>n>>t;
for(int q=1;q<=t;q++){
vector <cutie> v;
cutie aux;
aux.x=0;
int ans=1;
v.push_back(aux);
memset(a,0,n);
for(int i=1;i<=n;i++){
f>>aux.x>>aux.y>>aux.z;
v.push_back(aux);
}
sort(v.begin(),v.end(),cmp);
a[1]=1;
for(int i=2;i<=n;i++){
int ok=1;
a[i]=1;
for(int j=i-1;j>=1;j--){
if(v[i].y>v[j].y&&v[i].z>v[j].z){
a[i]=max(a[j]+1,a[i]);
}
j--;
}
if(a[i]>ans)ans=a[i];
}
g<<ans<<"\n";
}
return 0;
}