D. 整数拆分

    传统题 1000ms 256MiB

整数拆分

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

如果一个正整数除最高位以外,其余数位都是 0,那么这个数称为整位数。

例如,下面这些数都是整位数:

4000, 1, 9, 800, 90

而下面这些数不是整位数:

110, 707, 222, 1001

现在给定一个正整数 nn,请你把它拆成若干个整位数之和,并且要求使用的整位数个数尽可能少。

例如:

5009 = 5000 + 9

所以可以拆成 22 个整位数。

输入格式

第一行包含一个整数 tt,表示测试用例数量。

接下来 tt 行,每行包含一个正整数 nn。

输出格式

对于每个测试用例,输出两行。

第一行输出一个整数 kk,表示拆分出的整位数个数。

第二行输出 kk 个整数,表示一种合法拆分方案。

为了保证答案唯一,要求输出的 kk 个整位数按照数值从大到小排列。

1
5009
2
5000 9

数据范围与约定

对于所有测试数据,保证:

1≤t≤104,1≤n≤1041 \le t \le 10^4,\quad 1 \le n \le 10^4
测试点 分值 tt nn 特殊性质
1∼21 \sim 2 ≤20\le 20 ≤100\le 100 无
3∼43 \sim 4 1010 ≤100\le 100 ≤104\le 10^4 A
5∼65 \sim 6 B
7∼107 \sim 10 2020 ≤1000\le 1000 无
11∼1511 \sim 15 2525 ≤5000\le 5000
16∼2016 \sim 20 ≤104\le 10^4

特殊性质 A:保证 nn 本身是整位数。

特殊性质 B:保证 nn 的十进制表示中至少包含一个数字 00。

【GESP1级】提高模拟赛

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-5-30 13:15
结束于
2026-5-30 15:15
持续时间
2 小时
主持人
参赛人数
4