题解:P14643 [POI 2025/2026 #1] 托运 / Carry-on luggage
思路
- 分别取
X,Y,Z 的最小值,再相乘; - 因为可以任意旋转,所以从小到大排个序;
- 开 long long!
代码
#include<bits/stdc++.h> #define int long long //必须开long long using namespace std; const int m=0x3f3f3f3f;//极大值 int n,x,y,z; int a=m,b=m,c=m,ans; signed main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>x>>y>>z; int v[3]; v[0]=x,v[1]=y,v[2]=z; sort(v,v+3);//排序,因为可以翻转,默认从小到大 a=min(a,v[0]); b=min(b,v[1]); c=min(c,v[2]); //分别计算x y z最小值 } ans=a*b*c;//最终结果为它们的积 cout<<ans; return 0; }
~点个赞喵。~