整数拆分
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
如果一个正整数除最高位以外,其余数位都是 0,那么这个数称为整位数。
例如,下面这些数都是整位数:
4000, 1, 9, 800, 90
而下面这些数不是整位数:
110, 707, 222, 1001
现在给定一个正整数 ,请你把它拆成若干个整位数之和,并且要求使用的整位数个数尽可能少。
例如:
5009 = 5000 + 9
所以可以拆成 个整位数。
输入格式
第一行包含一个整数 ,表示测试用例数量。
接下来 行,每行包含一个正整数 。
输出格式
对于每个测试用例,输出两行。
第一行输出一个整数 ,表示拆分出的整位数个数。
第二行输出 个整数,表示一种合法拆分方案。
为了保证答案唯一,要求输出的 个整位数按照数值从大到小排列。
1
5009
2
5000 9
数据范围与约定
对于所有测试数据,保证:
| 测试点 | 分值 | 特殊性质 | ||
|---|---|---|---|---|
| 无 | ||||
| A | ||||
| B | ||||
| 无 | ||||
特殊性质 A:保证 本身是整位数。
特殊性质 B:保证 的十进制表示中至少包含一个数字 。