P13125 [GCJ 2019 Finals] Won't sum? Must now
题目描述
2016 年,有研究表明每个正整数都可以表示为不超过三个回文数之和。在本题中,回文数指的是没有前导零、正读和反读都相同的正整数。
给定一个正整数 $\mathbf{S}$,请找出 $\mathbf{K}$ 个回文数,使它们的和等于 $\mathbf{S}$,并且 $\mathbf{K}$ 最小。
输入格式
输入的第一行为测试用例数 $\mathbf{T}$。接下来的 $\mathbf{T}$ 行,每行包含一个正整数 $\mathbf{S}$。
输出格式
对于每个测试用例,输出一行,格式为 Case #x: $A_1$(如果只需要一个回文数)、Case #x: $A_1$ $A_2$(如果需要两个回文数),或 Case #x: $A_1$ $A_2$ $A_3$(如果需要三个回文数),其中 $x$ 为测试用例编号(从 1 开始),每个 $A_i$ 为一个回文数,且 $A_1 + A_2 + \cdots + A_K = \mathbf{S}$。
说明/提示
**样例解释**
在样例第 1 个用例中,输入本身就是回文数。
在样例第 2 个用例中,`99 99` 也是一个可行答案。即使有多个 99,它们也算作不同的项,因此这个解法和 `191 7` 使用的项数相同。
注意,`191 07`、`181 8 9`、`0110 88`、`101 97`、`7.0 191.0`、`-202 4` 等都不是可接受的答案。
**数据范围**
- $1 \leq \mathbf{T} \leq 100$。
**测试点 1(5 分,可见)**
- $1 \leq \mathbf{S} \leq 10^{10}$。
**测试点 2(22 分,隐藏)**
- $1 \leq \mathbf{S} \leq 10^{40}$。
由 ChatGPT 4.1 翻译