[SMOJ1820][未AC][来自 DalaoOI’2017 小甲]第六题 最大与最小(minmax)

本文介绍了DaolaoOI2017竞赛中的一道题目,涉及如何求解一个仅包含加法和乘法的算术式,以获得最大值和最小值。作者通过贪心策略分析,找到最大化和最小化算术式值的方法,并给出样例输入和输出,以及解决问题的思路和代码实现。
摘要由CSDN通过智能技术生成

背景:

记得上星期教主lws说今年DLOI’(就是DaolaoOI)蛮有意思的,并给我们展示了第六题:Minmax说这题你们可以做一下。
——台下,大佬们一片唏嘘,说:这不就是贪心吗
——Lws笑了,用那支白板笔敲了敲黑板:“是贪心啊,但关键是怎么贪呢?”

题目描述:

琳琳正在研究一个只有加法和乘法的算术式,假设她可以合法的任意加括号,你能帮她能求出这个算术式可能得到的最大值和最小值吗?参与运算的数据项都是正整数,数据项的个数不超过10(即每个数据项的大小为1到10)。

输入格式:

输入数据只有一行,是一个合法的算术式,两项之间都有一个空格。

输出格式:

输出数据有两行,第一行为能得到的最大值,第二行为能得到的最小值。

样例输入:

2 + 3 * 5 + 4 =

样例输出:

45
21

贴心的样例解释:

(2+3)*(5+4)=45
2+3*5+4=21

过程:

首先上来,我在草稿本上随便写几个算式,经过我几番精密的研究,发现似乎有这个规律:
基本的想法:尽可能的用尽量大的数作乘法运算,是最大的,反之是最小的(?)
最大解决方案:尽可能把作加法运算的数“利用括号”结合起来,遇到乘号,乘起来,似乎就是最大的。
最小解决方案:似乎,按照原式运算,就是最小的,因为我想:乘在一起的,不可能用括号分开嘛。

结果:

写了一个多小时,各种不爽,字符串处理烦成狗,但终于写完了,只有七十分,绞尽脑汁了,各位大佬麻烦帮我看看:

贴代码:

#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>

using 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值