题意
TT有一个A×B×C的长方体。这个长方体是由A×B×C个1×1×1的小正方体组成的。
现在TT想给每个小正方体涂上颜色。
需要满以下三点条件:
每个小正方体要么涂成红色,要么涂成蓝色。
所有红色的小正方体组成一个长方体。
所有蓝色的小正方体组成一个长方体。
现在TT想知道红色小正方体的数量和蓝色小正方体的数量的差异。
你需要找到红色正方体的数量与蓝色正方体的数量差值的绝对值的最小值。
即min{|红色正方体数量 - 蓝色正方体数量|}。
输入说明:输入仅一行,三个数A B C (2≤A,B,C≤10^9)。
输出说明:输出一个数字。
即差值绝对值的最小值。
样例:
input:
3 3 3
output:
3
思路
- 此题就是将一个长方体分成两半,如果体积相等,那么这个结果为0,如果不为零,则输出最小的一个截面即可
总结
注意数据范围应该是long long型的
代码
#include<iostream>
using namespace std;
int main()
{
long long int A,B,C,final;
cin>>A>>B>>C;
final=A*B*C;
if(final%2==0)
cout<<"0"<<endl;
else
{
long long int a,b,c;
a=A*B;
b=B*C;
c=A*C;
if(a<=b&&a<=c)
cout<<a<<endl;
else if(b<=a&&b<=c)
cout<<b<<endl;
else if(c<=a&&c<=b)
cout<<c<<endl;
}
return 0;
}