欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Codeforces Round #274 (Div. 2) A Expression_html/css_WEB-ITnose

程序员文章站 2022-05-25 22:36:59
...
题目链接:Expression



Expression

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Petya studies in a school and he adores Maths. His class has been studying arithmetic expressions. On the last class the teacher wrote three positive integers a, b, c on the blackboard. The task was to insert signs of operations '+' and '*', and probably brackets between the numbers so that the value of the resulting expression is as large as possible. Let's consider an example: assume that the teacher wrote numbers 1, 2 and 3 on the blackboard. Here are some ways of placing signs and brackets:

  • 1+2*3=7
  • 1*(2+3)=5
  • 1*2*3=6
  • (1+2)*3=9
  • Note that you can insert operation signs only between a and b, and between b and c, that is, you cannot swap integers. For instance, in the given sample you cannot get expression (1+3)*2.

    It's easy to see that the maximum value that you can obtain is 9.

    Your task is: given a, b and c print the maximum value that you can get.

    Input

    The input contains three integers a, b and c, each on a single line (1?≤?a,?b,?c?≤?10).

    Output

    Print the maximum value of the expression that you can obtain.

    Sample test(s)

    input

    123

    output

    input

    2103

    output

    60


    大致题意:a, b, c三个数,在三个数中,插入“+” 和“*”运算符的任意两个组合,求能组成的表达式的值得最大值。(可以用括号)


    解题思路:没啥说的,直接暴力,总共就6种组合。




    AC代码:

    #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define INF 0x7fffffffint x[9];int main(){//    #ifdef sxk//        freopen("in.txt","r",stdin);//    #endif    int a,b,c;    while(scanf("%d%d%d",&a,&b,&c)!=EOF)    {        x[0] = a + b + c;        x[1] = a + (b * c);        x[2] = a * (b + c);        x[3] = (a + b) * c;        x[4] = (a * b) + c;        x[5] = a * b * c;        sort(x, x+6);        printf("%d\n",x[5]);    }    return 0;}