洛谷P1797 克鲁斯的加减法(纯暴力)

题目戳这里

奶牛克鲁斯认为人类的加法算式太落后了。比如说有时候想要用加法计算+153,只能写成+15+15+15,真是浪费精力啊!于是,克鲁斯决定开发出一种新的加法算式。当然新的算式也是建立在原本算式的基础上的,不同就在于上式可以直接写成+++15,当然对于-153这样的算式可以写为—15。一段时间后,克鲁斯又被那无穷多个±号口到了,于是他又将这个算式改进了一下。比如+153又可以写成+(3)15,当然,-153等价于-(3)15。但是从上面可以看出,对于乘数较小的情况,如+++15这样的表述还是很方便的,于是在新的算式中还是保留了这种丑陋的形式。
对于算式还要作一点特殊的说明:

+15*3转换成克鲁斯型算式时可以写成+++15或+(3)15,但不可以写成++(2)15这样的形式。

对于算式23+15*3-2可以表示为以下几种形式:

  • 23+++15-2

  • 23+(3)15-2
    +23+++15-2

  • +23+(3)15-2

  • +(1)23+(3)15-(1)2

不会出现如下几种形式:

  • (1)23+++15-2
  • +23++(2)15-(1)2
  • 23+++15-2+(0)100
  • 23-(-3)15-2

输入 #1

+(1)23+(3)15-(1)2

输出 #1

66

对于20%的数据,输入长度不超过10;

对于100%的数据,输入长度不超过200。

思路

由于题目说输入长度不超过200,再加上观察题目形式,于是我们得出,如果可以把“+++15”变为3*15,"+(3)15"变为+3 * 15的话题目就和普通的十进制运算毫无区别,于是我们用C语言打表,实际代码见下图:(就是这么暴力实际上是我不想思考了,模拟题好麻烦)

在这里插入图片描述

ss="1*"+input();
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+100*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+99*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+98*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+97*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+96*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+95*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+94*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+93*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+92*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+91*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+90*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+89*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+88*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+87*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+86*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+85*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+84*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+83*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+82*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+81*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+80*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+79*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+78*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+77*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+76*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+75*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+74*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+73*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+72*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+71*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+70*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+69*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+68*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+67*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+66*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+65*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+64*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+63*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+62*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+61*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+60*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+59*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+58*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+57*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++","+56*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++++","+55*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++++","+54*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++++","+53*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++++","+52*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++++","+51*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++++","+50*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++++","+49*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++++","+48*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++++","+47*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++++","+46*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++++","+45*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++++","+44*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++++","+43*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++++","+42*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++++","+41*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++++","+40*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++++","+39*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++++","+38*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++++","+37*");
ss=ss.replace("++++++++++++++++++++++++++++++++++++","+36*");
ss=ss.replace("+++++++++++++++++++++++++++++++++++","+35*");
ss=ss.replace("++++++++++++++++++++++++++++++++++","+34*");
ss=ss.replace("+++++++++++++++++++++++++++++++++","+33*");
ss=ss.replace("++++++++++++++++++++++++++++++++","+32*");
ss=ss.replace("+++++++++++++++++++++++++++++++","+31*");
ss=ss.replace("++++++++++++++++++++++++++++++","+30*");
ss=ss.replace("+++++++++++++++++++++++++++++","+29*");
ss=ss.replace("++++++++++++++++++++++++++++","+28*");
ss=ss.replace("+++++++++++++++++++++++++++","+27*");
ss=ss.replace("++++++++++++++++++++++++++","+26*");
ss=ss.replace("+++++++++++++++++++++++++","+25*");
ss=ss.replace("++++++++++++++++++++++++","+24*");
ss=ss.replace("+++++++++++++++++++++++","+23*");
ss=ss.replace("++++++++++++++++++++++","+22*");
ss=ss.replace("+++++++++++++++++++++","+21*");
ss=ss.replace("++++++++++++++++++++","+20*");
ss=ss.replace("+++++++++++++++++++","+19*");
ss=ss.replace("++++++++++++++++++","+18*");
ss=ss.replace("+++++++++++++++++","+17*");
ss=ss.replace("++++++++++++++++","+16*");
ss=ss.replace("+++++++++++++++","+15*");
ss=ss.replace("++++++++++++++","+14*");
ss=ss.replace("+++++++++++++","+13*");
ss=ss.replace("++++++++++++","+12*");
ss=ss.replace("+++++++++++","+11*");
ss=ss.replace("++++++++++","+10*");
ss=ss.replace("+++++++++","+9*");
ss=ss.replace("++++++++","+8*");
ss=ss.replace("+++++++","+7*");
ss=ss.replace("++++++","+6*");
ss=ss.replace("+++++","+5*");
ss=ss.replace("++++","+4*");
ss=ss.replace("+++","+3*");
ss=ss.replace("++","+2*");
ss=ss.replace("+","+1*");
ss=ss.replace("----------------------------------------------------------------------------------------------------","-100*");
ss=ss.replace("---------------------------------------------------------------------------------------------------","-99*");
ss=ss.replace("--------------------------------------------------------------------------------------------------","-98*");
ss=ss.replace("-------------------------------------------------------------------------------------------------","-97*");
ss=ss.replace("------------------------------------------------------------------------------------------------","-96*");
ss=ss.replace("-----------------------------------------------------------------------------------------------","-95*");
ss=ss.replace("----------------------------------------------------------------------------------------------","-94*");
ss=ss.replace("---------------------------------------------------------------------------------------------","-93*");
ss=ss.replace("--------------------------------------------------------------------------------------------","-92*");
ss=ss.replace("-------------------------------------------------------------------------------------------","-91*");
ss=ss.replace("------------------------------------------------------------------------------------------","-90*");
ss=ss.replace("-----------------------------------------------------------------------------------------","-89*");
ss=ss.replace("----------------------------------------------------------------------------------------","-88*");
ss=ss.replace("---------------------------------------------------------------------------------------","-87*");
ss=ss.replace("--------------------------------------------------------------------------------------","-86*");
ss=ss.replace("-------------------------------------------------------------------------------------","-85*");
ss=ss.replace("------------------------------------------------------------------------------------","-84*");
ss=ss.replace("-----------------------------------------------------------------------------------","-83*");
ss=ss.replace("----------------------------------------------------------------------------------","-82*");
ss=ss.replace("---------------------------------------------------------------------------------","-81*");
ss=ss.replace("--------------------------------------------------------------------------------","-80*");
ss=ss.replace("-------------------------------------------------------------------------------","-79*");
ss=ss.replace("------------------------------------------------------------------------------","-78*");
ss=ss.replace("-----------------------------------------------------------------------------","-77*");
ss=ss.replace("----------------------------------------------------------------------------","-76*");
ss=ss.replace("---------------------------------------------------------------------------","-75*");
ss=ss.replace("--------------------------------------------------------------------------","-74*");
ss=ss.replace("-------------------------------------------------------------------------","-73*");
ss=ss.replace("------------------------------------------------------------------------","-72*");
ss=ss.replace("-----------------------------------------------------------------------","-71*");
ss=ss.replace("----------------------------------------------------------------------","-70*");
ss=ss.replace("---------------------------------------------------------------------","-69*");
ss=ss.replace("--------------------------------------------------------------------","-68*");
ss=ss.replace("-------------------------------------------------------------------","-67*");
ss=ss.replace("------------------------------------------------------------------","-66*");
ss=ss.replace("-----------------------------------------------------------------","-65*");
ss=ss.replace("----------------------------------------------------------------","-64*");
ss=ss.replace("---------------------------------------------------------------","-63*");
ss=ss.replace("--------------------------------------------------------------","-62*");
ss=ss.replace("-------------------------------------------------------------","-61*");
ss=ss.replace("------------------------------------------------------------","-60*");
ss=ss.replace("-----------------------------------------------------------","-59*");
ss=ss.replace("----------------------------------------------------------","-58*");
ss=ss.replace("---------------------------------------------------------","-57*");
ss=ss.replace("--------------------------------------------------------","-56*");
ss=ss.replace("-------------------------------------------------------","-55*");
ss=ss.replace("------------------------------------------------------","-54*");
ss=ss.replace("-----------------------------------------------------","-53*");
ss=ss.replace("----------------------------------------------------","-52*");
ss=ss.replace("---------------------------------------------------","-51*");
ss=ss.replace("--------------------------------------------------","-50*");
ss=ss.replace("-------------------------------------------------","-49*");
ss=ss.replace("------------------------------------------------","-48*");
ss=ss.replace("-----------------------------------------------","-47*");
ss=ss.replace("----------------------------------------------","-46*");
ss=ss.replace("---------------------------------------------","-45*");
ss=ss.replace("--------------------------------------------","-44*");
ss=ss.replace("-------------------------------------------","-43*");
ss=ss.replace("------------------------------------------","-42*");
ss=ss.replace("-----------------------------------------","-41*");
ss=ss.replace("----------------------------------------","-40*");
ss=ss.replace("---------------------------------------","-39*");
ss=ss.replace("--------------------------------------","-38*");
ss=ss.replace("-------------------------------------","-37*");
ss=ss.replace("------------------------------------","-36*");
ss=ss.replace("-----------------------------------","-35*");
ss=ss.replace("----------------------------------","-34*");
ss=ss.replace("---------------------------------","-33*");
ss=ss.replace("--------------------------------","-32*");
ss=ss.replace("-------------------------------","-31*");
ss=ss.replace("------------------------------","-30*");
ss=ss.replace("-----------------------------","-29*");
ss=ss.replace("----------------------------","-28*");
ss=ss.replace("---------------------------","-27*");
ss=ss.replace("--------------------------","-26*");
ss=ss.replace("-------------------------","-25*");
ss=ss.replace("------------------------","-24*");
ss=ss.replace("-----------------------","-23*");
ss=ss.replace("----------------------","-22*");
ss=ss.replace("---------------------","-21*");
ss=ss.replace("--------------------","-20*");
ss=ss.replace("-------------------","-19*");
ss=ss.replace("------------------","-18*");
ss=ss.replace("-----------------","-17*");
ss=ss.replace("----------------","-16*");
ss=ss.replace("---------------","-15*");
ss=ss.replace("--------------","-14*");
ss=ss.replace("-------------","-13*");
ss=ss.replace("------------","-12*");
ss=ss.replace("-----------","-11*");
ss=ss.replace("----------","-10*");
ss=ss.replace("---------","-9*");
ss=ss.replace("--------","-8*");
ss=ss.replace("-------","-7*");
ss=ss.replace("------","-6*");
ss=ss.replace("-----","-5*");
ss=ss.replace("----","-4*");
ss=ss.replace("---","-3*");
ss=ss.replace("--","-2*");
ss=ss.replace("-","-1*");
ss=ss.replace("(", "");
ss=ss.replace(")", "*");
print(eval(ss));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值