主题:[讨论]K10进制的问题
[问题描述]
N星球上的人觉得10进制不好,又整出来一种K10进制。
K10进制有10个基本数字1、2、3、4、5、6、7、8、9、0,三个符号+、-、*,括号(),还有两个特殊符号a、b。a、b本身不能当符号,它们只有和+、-、*中的任意一个组合在一起才能当符号。这样K10进制的特殊符号一共有6个:a+、a-、a*、b+、b-、b*.
这些特殊符号的用法如下:
x a+ y:把x和y组合在一起,如2 a+ 4 = 24。
x a- y:把x和y反向组合在一起,如2 a- 4 = 42。
x a* y:求x的y次方,如2 a* 4 = 16。
x b+ y:将x和y的乘积加上x,如2 b+ 4 = 2 * 4 + 2 = 10。
x b- y:将x和y的乘积减去x,如2 b- 4 = 2 * 4 - 2 = 6。
x b* y:求(x + y)的平方,如2 b* 4 = (2 + 4) * (2 + 4) = 36。
在每一个N星球上的人满10岁时都会收到一些数字和运算符,他们要做的工作就是用自己手中的数字和运算符组成一个算式(所有的数字和符号都要用上),使这题用K10进制算好后的结果最大。已知,在没有括号的情况下,所有的特殊符号的优先级都比乘号*高,并且a*和b*的优先级相同并且高于其它特殊符号,其它特殊符号的优先级相同。
N星球总部规定,括号的个数是无限的,任何人都可以使用无限个数的括号。
比如,一个N星球的人收到的数字分别是2、4、5各1个以及一个*号和一个a+号,则他可以组成的结果最大的算式是4 a+ (5 * 2),该算式的结果是410。
不过有些人认为这项工作很难,所以他们要求你来帮助他们。
[输入]
第一行是10个数(每个数都不大于20),表示这个人得到的1、2、3、4、5、6、7、8、9、0的个数,0个表示没得到这个数字。
第二行是9个数(每个数都不大于20),分别表示这个人得到的+、-、*、a+、a-、a*、b+、b-、b*九个符号的个数,0表示没得到。
[输出]
一个数,表示这个人用他手中的符号可以组成的算式中结果最大的是多少,输出这个结果。
[样例输入]
0 1 0 1 1 0 0 0 0 0
0 0 1 1 0 0 0 0 0
[样例输出]
410
N星球上的人觉得10进制不好,又整出来一种K10进制。
K10进制有10个基本数字1、2、3、4、5、6、7、8、9、0,三个符号+、-、*,括号(),还有两个特殊符号a、b。a、b本身不能当符号,它们只有和+、-、*中的任意一个组合在一起才能当符号。这样K10进制的特殊符号一共有6个:a+、a-、a*、b+、b-、b*.
这些特殊符号的用法如下:
x a+ y:把x和y组合在一起,如2 a+ 4 = 24。
x a- y:把x和y反向组合在一起,如2 a- 4 = 42。
x a* y:求x的y次方,如2 a* 4 = 16。
x b+ y:将x和y的乘积加上x,如2 b+ 4 = 2 * 4 + 2 = 10。
x b- y:将x和y的乘积减去x,如2 b- 4 = 2 * 4 - 2 = 6。
x b* y:求(x + y)的平方,如2 b* 4 = (2 + 4) * (2 + 4) = 36。
在每一个N星球上的人满10岁时都会收到一些数字和运算符,他们要做的工作就是用自己手中的数字和运算符组成一个算式(所有的数字和符号都要用上),使这题用K10进制算好后的结果最大。已知,在没有括号的情况下,所有的特殊符号的优先级都比乘号*高,并且a*和b*的优先级相同并且高于其它特殊符号,其它特殊符号的优先级相同。
N星球总部规定,括号的个数是无限的,任何人都可以使用无限个数的括号。
比如,一个N星球的人收到的数字分别是2、4、5各1个以及一个*号和一个a+号,则他可以组成的结果最大的算式是4 a+ (5 * 2),该算式的结果是410。
不过有些人认为这项工作很难,所以他们要求你来帮助他们。
[输入]
第一行是10个数(每个数都不大于20),表示这个人得到的1、2、3、4、5、6、7、8、9、0的个数,0个表示没得到这个数字。
第二行是9个数(每个数都不大于20),分别表示这个人得到的+、-、*、a+、a-、a*、b+、b-、b*九个符号的个数,0表示没得到。
[输出]
一个数,表示这个人用他手中的符号可以组成的算式中结果最大的是多少,输出这个结果。
[样例输入]
0 1 0 1 1 0 0 0 0 0
0 0 1 1 0 0 0 0 0
[样例输出]
410