题解:P14643 [POI 2025/2026 #1] 托运 / Carry-on luggage

· · 题解

一点点闲话

本题与这题十分相似。

甚至那道题的代码都能通过此题。

分析

简单题。

由于航线可以颠倒,我们可以像那道题目把每条航线想象成一个盒子,航线对行李的要求相当于盒子的长、宽、高。

所以本题就可以转换成那道题了。

盒子可以旋转,长、宽、高顺序不重要。每次嵌入的时候行李可以旋转放入。

我们设行李及盒子的长、宽、高按从小到大的顺序排好。然后分别求三个最小值即可。这样做十分简单,还保证答案不被小数污染。

代码

这个代码可以通过那道题,拿到双倍经验。

#include<bits/stdc++.h>
#define int long long
using namespace std;
main()
{
    int n;
    cin>>n;
    int c=1e17,k=1e17,g=1e17;
    for(int i=1;i<=n;i++)
    {
        int a[3];
        cin>>a[1]>>a[2]>>a[3];
        sort(a+1,a+1+3);
        c=min(c,a[1]);
        k=min(k,a[2]);
        g=min(g,a[3]);
    }
    cout<<c*k*g;
    return 0;
}