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原创文章。转载本文,请添加链接^_^

  • 相关阅读:
    ReentrantLock 非公平锁不公平在哪
    spring 初始化Bean
    spring 循环引用问题,在一次问题调试过程中发现有个小伙伴竟然把循环引用设置成false了。估计是百度的时候没小心额外的代码吧。。。
    Maya2019下载安装与激活
    Maya2014下载安装与激活
    Maya2017下载安装与激活
    Windows 好用的护眼软件
    万兴全能格式转换器_11.2.0.232 下载安装和激活
    处理视频相关的软件
    几款好用的录屏软件推荐
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4805096.html
Copyright © 2011-2022 走看看