跟b一样编译器版本低,,而已
代码
#include<iostream>
#include<vector>
#include<algorithm>
#include<vector>
#include<algorithm>
using namespace std;
struct wood{
int longth;
int weight;
};
bool comp(const wood &m1,const wood &m2){
if (m1.longth==m2.longth)
return m1.weight<m2.weight;
else if(m1.longth<m2.longth)
return true;
return false;
}
int main()
{ int n;
cin>>n;
while(n>0)
{
n--;
int n2;
cin>>n2;
vector<wood>v;
for(int i=0;i<n2;i++)
{
wood w;
cin>>w.longth>>w.weight;
v.push_back(w);
}
sort(v.begin(), v.end(), comp);
int a[5000];
for(int i=0;i<5000;i++)
a[i]=0;
int k;
a[0]=1;
for(int i=1;i<n2;i++)
{ k=0;
for(int j=0;j<i;j++)
if(v[i].weight<v[j].weight&&k<a[j])
k=a[j];
a[i]=k+1;
}
int sum=0;
for(int i=0;i<n2;i++)
{if(sum<a[i])
sum=a[i];
for(int i=0;i<5000;i++)
a[i]=0;
int k;
a[0]=1;
for(int i=1;i<n2;i++)
{ k=0;
for(int j=0;j<i;j++)
if(v[i].weight<v[j].weight&&k<a[j])
k=a[j];
a[i]=k+1;
}
int sum=0;
for(int i=0;i<n2;i++)
{if(sum<a[i])
sum=a[i];
}
cout<<sum<<endl;
}
cout<<sum<<endl;
}
return 0;
}