数据结构之神ccz又在出毒瘤数据结构了
神出了这样一个题:
给你三个数,在这三个数中间任意加*或者是+,然后可以随便打括号,只要这个表达式合法
比如说1 2 3可以得到:
- 1+2*3=7
- 1*(2+3)=5
- 1*2*3=6
- (1+2)*3=9
不能改变这三个数的原顺序
最大化表达式的值
输入描述:
输入三行,每行一个数 分别表示a,b,c
输出描述:
输出一行一个数表示答案
备注:
1 <= a , b , c <= 10
六种情况??四种情况??
都行吧
#include <stdio.h>
#include <cstring>
#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{
int a , b , c , x[5];
while(~scanf("%d %d %d" , &a , &b , &c))
{
x[0] = a+b+c;
x[1] = a*b*c;
x[2] = (a+b) *c;
x[3] = a * (b+c);
int t = max(x[0] , max(x[1] ,max(x[2] , x[3])));
// sort(x , x+3);
printf("%d\n" , t);
}
return 0;
}