数据结构之神ccz又在出毒瘤数据结构了
神出了这样一个题:
给你三个数,在这三个数中间任意加*或者是+,然后可以随便打括号,只要这个表达式合法
比如说1 2 3可以得到:
  • 1+2*3=7
  • 1*(2+3)=5
  • 1*2*3=6
  • (1+2)*3=9
不能改变这三个数的原顺序
最大化表达式的值

输入描述:

输入三行,每行一个数

分别表示a,b,c

输出描述:

输出一行一个数表示答案
示例1

输入

复制
1
2
3

输出

复制
9
示例2

输入

复制
2
10
3

输出

复制
60

备注:

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;
 }