1297: 表达式求值
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:1
Solved:1
Description
给定一个仅包含数字 1 到 9 的字符串 S,请在 S 中分别插入 1 个加号(+)、2 个加号。
注:
1)加号不能出现在 S 中第一位数字的前面或者最后一位数字的后面;
2)两个加号的位置不能相邻。
插入加号后的字符串可以看做是一个加法表达式,请找出所有可能出现的表达式,并输出所有表达式结果的
总和。
例 1:S = "1234";分别在字符串 "1234" 中插入 1 个加号、2 个加号,插入加号的表达式如下:
1)当插入 1 个加号时,表达式有 1 + 234、12 + 34、123 + 4,计算结果依次为 235、46、127;
2)当插入 2 个加号时,表达式有 1 + 2 + 34、1 + 23 + 4、12 + 3 + 4,计算结果依次为 37、
28、19;
这些结果的总和为 492(235 + 46 + 127 + 37 + 28 + 19)。
例 2:S = "111",分别在字符串 "111" 中插入 1 个加号、2 个加号,插入加号的表达式如下:
1)当插入 1 个加号时,表达式有 1 + 11,11 + 1,计算结果依次为 12、12;
2)当插入 2 个加号时,表达式有 1 + 1 + 1,计算结果为 3;
这些结果的总和为 27(12 + 12 + 3)。
Input
输入一个仅包含数字 1 到 9 的字符串 S(3≤S的长度≤15)。
Output
输出一个整数,表示所有可能出现的表达式的结果的总和。
Sample Input Copy
1234
Sample Output Copy
492