T792533 【C1008】 - 组最小的数相加

题目描述

给定数字0 - 9各若干个。你可以以任意顺序排列这些数字,但是必须全部使用,目标是使得最后得到的数尽可能小(注意0不能作为首尾)。 例如,给定2个0,2个1,3个5,1个8,得到的最小的数就是10015558 现给定两组这样数字,每组10个,请编写程序输出这两组数能组成的两个最小的数相加之后的结果

输入格式

共2行 第1行,10个非负数,顺序表示数字0,数字1,数字2...数字9的个数,整数使用空格分隔 第2行,10个非负数,顺序表示数字0,数字1,数字2...数字9的个数,整数使用空格分隔 每组数中的10个数字的总个数不超过50,且至少拥有1个非0数字

输出格式

1行,输出这两组数能够组成的最小的数相加之后的结果

说明/提示

**【样例说明】** 2 2 0 0 0 3 0 0 1 0 能组成的最小的数是:10015558 3 1 0 0 1 2 3 1 0 0 能组成的最小的数是:10004556667 两个最小的数相加的结果是:10014572225 **【数据范围与提示】** 50%的数据:每组输入的10个数字的总个数不超过8(也就是组成的最小数最多是8位),且至少拥有1个非0数字 100%的数据:输入的10个数字的总个数不超过50(也就是组成的最小数最多是50位),且至少拥有1个非0数字