Description
小 A 来到了迷阵的入口处。他面对着一道小学一年级的试题:给出三个数 A, B, C,请找到 A∗B, B∗C, A∗C 中的最大值。其中 A, B, C 满足 A<B<C。
然而由于时间的原因,A, C 两个数已经模糊不清了。尽管如此,小 A 还是想知道,在 A∗B, B∗C, A∗C 中,有可能成为最大值的有哪些。
Input
输入一行一个整数 B。
对于 30% 的数据,满足 −10≤B≤10;
对于 60% 的数据,满足 −109≤B≤109;
对于 100% 的数据,满足 −1018≤B≤1018。
Output
输出一行表示所有有可能成为最大值的"A*B"
, "B*C"
, "A*C"
。有多个答案时按照"A*B"
, "B*C"
, "A*C"
的先后顺序输出,中间用一个空格隔开。注意:输出一定是大写且 不要输出任何多余的空格。
Sample Input
4
Sample Output
B*C
_____________________________________________________________________________
找规律的题大都考虑一下特殊情况,可能有多个答案输出的时候,那么就首先想到0的存在。
举一些简单的例子:
/*
A B C
3 4 5
12 20 15 B*C
0 1 2
0 2 0 B*C
-1 0 1
0 0 -1 A*B B*C
-3 -2 0
6 0 0 A*B
-3 -4 -5 B*C
12 20 15
b小于0时 是A*B
b等于0时 是A*B B*C
b大于等于1时 是B*C
其余情况都是B*C
*/
ac代码(可能不是最简洁的):
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long b;
cin>>b;
if(b==0)
cout<<"A*B B*C";
else if(b>=1)
cout<<"B*C";
else if(b<0)
cout<<"A*B";
else
cout<<"B*C";
}