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

数据范围与约定

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

1t104,1n1041 \le t \le 10^4,\quad 1 \le n \le 10^4
测试点 分值 tt nn 特殊性质
121 \sim 2 20\le 20 100\le 100
343 \sim 4 1010 100\le 100 104\le 10^4 A
565 \sim 6 B
7107 \sim 10 2020 1000\le 1000
111511 \sim 15 2525 5000\le 5000
162016 \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