标签:
Description
Input
Output
Sample Input
Sample Output
#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> using namespace std; struct node { int a,b,c; }x[200]; bool cmp(node p,node q) { return p.a<q.a||(q.a==p.a&&p.b<q.b); } long long int dp[210],w; int n,k; void init() { int y[3]; k=0; for(int i=0;i<n;i++) { scanf("%d%d%d",&y[0],&y[1],&y[2]); sort(y,y+3); x[k].a=y[0];x[k].b=y[1];x[k].c=y[2];k++; x[k].a=y[1];x[k].b=y[2];x[k].c=y[0];k++; x[k].a=y[0];x[k].b=y[2];x[k].c=y[1];k++; } } void work() { sort(x,x+k,cmp); for(int i=0;i<k;i++) dp[i]=x[i].c; w=0; for(int i=1;i<k;i++) { int mx=0; for(int j=i-1;j>=0;j--) if((x[i].a>x[j].a&&x[i].b>x[j].b)&&mx<dp[j]) mx=dp[j]; dp[i]+=mx; w=max(w,dp[i]); } } int main() { int Case=0; while(scanf("%d",&n)==1&&n) { init(); work(); printf("Case %d: maximum height = %d\n",++Case,w); } return 0; }
标签:
原文地址:http://www.cnblogs.com/www-cnxcy-com/p/4734940.html