#include <iostream> #include <cstdio> #include <algorithm> using namespace std; struct rectangle { int x,y,z; }w[100]; int dp[100]; bool cmp(rectangle x1,rectangle x2) { if(x1.x>x1.y) return true; if(x1.x==x2.x&&x1.y>x2.y) return true; return false; } int main() { int n; int t=1; while(scanf("%d",&n),n) { int x,y,z; int k=0; for(int i=1;i<=n;i++) { scanf("%d%d%d",&x,&y,&z); w[k].x=x,w[k].y=y,w[k++].z=z; w[k].x=x,w[k].y=z,w[k++].z=y; w[k].x=y;w[k].y=z,w[k++].z=x; } sort(w,w+k,cmp); for(int i=1;i<k;i++) { dp[i]=w[i].z; } int sum=dp[1]; for(int i=2;i<k;i++) sum=max(sum,dp[i]); printf("Case %d: maximum height = ",t++); printf("%d\n",sum); } return 0; }
时间: 2024-12-28 22:30:39