分析
我们可以知道,如果两个相对的边所在的棍子的长度分别为 a a a 和 b b b,那么这两条边最大只能就为 min ( a , b ) \min(a,b) min(a,b)。所以如果让最长的棍子(设其长度为 a a a)与最短的棍子(设其长度为 b b b)相对的话,实际其边长仅有 min ( a , b ) = b \min(a,b)=b min(a,b)=b,还不如让最短的棍子与第二短的棍子(设其长度为 c c c)相对,实际边长为 min ( b , c ) = b \min(b,c)=b min(b,c)=b,与第一种组合相同,却又更加节省。
由此,我们要让最短的棍子(设其长度为 a a a)与第二短的棍子(设其长度为 b b b)相对,最长的棍子(设其长度为 c c c)与第二长的棍子(设其长度为 d d d)相对,边长最大分别为 min ( a , b ) = a \min(a,b)=a min(a,b)=a 与 min ( c , d ) = d \min(c,d)=d min(c,d)=d,故其面积最大为 a × d a\times d a×d。
code
#include<iostream>
#include<algorithm>
using namespace std;
int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int t,arr[4];cin>>t;while(t--){for(int i=0;i<4;++i) cin>>arr[i];sort(arr,arr+4);//排序cout<<arr[0]*arr[2]<<"\n";}return 0;
}