CF1104A Splitting into digits
题目描述
Vasya 有一个他最喜欢的数字 $n$。他想要将 $n$ 拆分成若干个非零数字。也就是说,他想选择一些数字 $d_1, d_2, \ldots, d_k$,使得对于所有 $i$ 都有 $1 \leq d_i \leq 9$,并且 $d_1 + d_2 + \ldots + d_k = n$。
Vasya 追求美感,因此他希望找到一种方案,使得 $d_1, d_2, \ldots, d_k$ 中不同数字的数量尽可能少。请你帮帮他!
输入格式
第一行包含一个整数 $n$,表示 Vasya 想要拆分的数字($1 \leq n \leq 1000$)。
输出格式
第一行输出一个整数 $k$,表示拆分后数字的个数。注意 $k$ 必须满足 $1 \leq k \leq n$。
第二行输出 $k$ 个数字 $d_1, d_2, \ldots, d_k$,用空格分隔。所有数字都必须满足 $1 \leq d_i \leq 9$。
你需要找到一种拆分方式,使得 $d_1, d_2, \ldots, d_k$ 中不同数字的数量在所有拆分方案中最少。在所有满足条件的拆分方案中,输出任意一种即可。保证至少存在一种将 $n$ 拆分为若干数字的方案。
说明/提示
在第一个测试中,数字 $1$ 可以被拆分为 $1$ 个数字 $1$。
在第二个测试中,将数字 $4$ 拆分为数字的方案中,不同数字数量为 $1$ 的有 $3$ 种,分别为 $[1, 1, 1, 1]$、$[2, 2]$ 和 $[4]$。这些方案都可以输出。例如,将 $4$ 拆分为 $[1, 1, 2]$ 就不是答案,因为它包含了 $2$ 个不同的数字,这不是最少的。
由 ChatGPT 4.1 翻译