我们要求红色正方体和蓝色正方体数目之差绝对值的最小值,那自然就会想到让长方体尽量分成相同的两半,然后分别属于红色和蓝色,但是长方体不一定能分成完全相同的两部分。假设长方体长为A,宽为B,高为C,如果以宽和高所在面为横截面,把长方体分成两部分,如果A%2=0,则两部分完全一样,如果A%2=1,那么两部分之差就是BC。所以,我们要求的就是BC的最小值,这样只需要排个序就能找到。
以下是完整代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
long long a[3];
for(int i=0;i<3;i++)
{
cin>>a[i];
}
sort(a,a+3);
if(a[2]%2==0)
{
cout<<"0";
}
else
{
long long ans=a[0]*a[1];
cout<<ans;
}
}