首页 > 试题广场 >

最小表达式

[编程题]最小表达式
  • 热度指数:123 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给出一个包含数字1-9和加号的字符串,请你将字符串中的字符任意排列,但每种字符数目不变,使得结果是一个合法的表达式,而且表达式的值最小。输出那个最小表达式的值

合法的表达式的定义如下:

- 一个数字,如233,是一个合法的表达式

- A + B是合法的表达式,当且仅当 A , B 都是合法的表达式

保证给出的表达式经过重排,存在一个合法的解。


输入描述:
一行输入一个字符串,仅包含数字1-9和加号+。
字符串的长度小于


输出描述:
一行输出一个数字,代表最小的解。
示例1

输入

111+1

输出

22

说明

11+11=22
示例2

输入

9998765432111

输出

1112345678999
示例3

输入

12+35

输出

38

说明

25+13 = 38

示例4

输入

23984692+238752+2+34+

输出

5461

说明

嗯,这个答案是可以得到的


备注:
注意,答案长度可能长达500000个字符。

这道题你会答吗?花几分钟告诉大家答案吧!