标签:
Description
Input
Output
Sample Input
Sample Output
1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int max(int x,int y) 5 { 6 if(x>y) 7 return x; 8 else return y; 9 } 10 struct zt 11 { 12 int a,b,c; 13 bool operator <(const zt s) const 14 { 15 return a<s.a||a==s.a&&b<s.b; 16 } 17 }t[130]; 18 int d[130]; 19 int main() 20 { 21 int a[3],n,q,i,j,max1,o; 22 int maxn; 23 o=0; 24 while(cin>>n&&n) 25 { 26 q=0; 27 for(i=0;i<n;i++) 28 { 29 cin>>a[0]>>a[1]>>a[2]; 30 sort(a,a+3); 31 t[q].a=a[0]; 32 t[q].b=a[1]; 33 t[q].c=a[2]; 34 q++; 35 t[q].a=a[1]; 36 t[q].b=a[0]; 37 t[q].c=a[2]; 38 q++; 39 t[q].a=a[0]; 40 t[q].b=a[2]; 41 t[q].c=a[1]; 42 q++; 43 t[q].a=a[1]; 44 t[q].b=a[2]; 45 t[q].c=a[0]; 46 q++; 47 } 48 sort(t,t+q); 49 for(i=0;i<q;i++) 50 d[i]=t[i].c; 51 maxn=0; 52 for(i=0;i<q;i++) 53 { 54 max1=0; 55 for(j=i-1;j>=0;j--) 56 { 57 if(t[i].a>t[j].a&&t[i].b>t[j].b) 58 { 59 if(d[j]>max1) 60 max1=d[j]; 61 } 62 } 63 d[i]+=max1; 64 maxn=max(maxn,d[i]); 65 } 66 cout<<"Case "<<++o<<": "<<"maximum height = "<<maxn<<endl; 67 } 68 return 0; 69 }
2015 HUAS Summer Trainning #5 B
标签:
原文地址:http://www.cnblogs.com/huaxiangdehenji/p/4734783.html