热搜:NVER node 开发 php

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

2024-11-20 21:20:02
Codeforces Round #274 (Div. 2) A Expression_html/css_WEB-ITnose

题目链接: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;}