zoukankan      html  css  js  c++  java
  • Codeforces Round #274 (Div. 2) --A Expression

    主题链接: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 abc 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 ab and c print the maximum value that you can get.

    Input

    The input contains three integers ab 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
    1
    2
    3
    
    output
    9
    
    input
    2
    10
    3
    
    output
    60


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


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




    AC代码:

    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <queue>
    #include <set>
    #include <map>
    #include <string>
    #include <math.h>
    #include <stdlib.h>
    #include <time.h>
    using namespace std;
    #define INF 0x7fffffff
    
    int 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
    ",x[5]);
        }
        return 0;
    }


    版权声明:本文sxk原创文章。转载本文,请添加链接^_^

  • 相关阅读:
    str_pad 和 filter_var
    phpstorm主题下载地址
    php二维数组的排序
    wx.request出现400 bad request的问题
    php里的闭包函数
    关于宝塔下的项目中的php不能访问的问题
    字体大小适配宽度
    递归复制&查看文件夹下的指定后缀的文件
    find_in_set
    给动态ajax添加的元素添加click事件
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4805096.html
Copyright © 2011-2022 走看看