标签:
Description
Input
Output
Sample Input
Sample Output
#include<iostream> #include<algorithm> #include<cstring> using namespace std; class M{ public: int a,b,c; bool operator<(M x)const{ return a<x.a||a==x.a&&b<x.b; } }; M x[200]; long long int dp[200]; int main(){ int n; for(int k=1;cin>>n&&n;k++){ int d=0; for(int i=0;i<n;i++){ int a[3];cin>>a[0]>>a[1]>>a[2]; sort(a,a+3); x[d].a=a[0];x[d].b=a[1];x[d].c=a[2]; d++; x[d].a=a[1];x[d].b=a[2];x[d].c=a[0]; d++; x[d].a=a[0];x[d].b=a[2];x[d].c=a[1]; d++; } sort(x,x+d); for(int i=0;i<d;i++){ dp[i]=x[i].c; } long long int v=0; for(int i=1;i<d;i++){ int maxx=0; for(int j=i-1;j>=0;j--)if(x[i].a>x[j].a&&x[i].b>x[j].b){ if(maxx<dp[j]){ maxx=dp[j]; } } dp[i]+=maxx; v=max(v,dp[i]); } cout<<"Case "<<k<<": maximum height = "<<v<<endl; } return 0; }
HDU 1069 Monkey and Banana(LIS最长上升子序列)
标签:
原文地址:http://www.cnblogs.com/demodemo/p/4731138.html