[语言月赛 202212] 宇宙密码
题目描述
经历十九年的探索,人们终于找到了宇宙中的那份瑰宝。
这份瑰宝被装在一个密码箱里,按照情报,密码应为一串长度为 $n$ 的数字 $a$。
人们满怀希望地输入了密码,但是密码箱没有任何反应。
这时人们意识到,在十九年中,由于宇宙射线的侵蚀,密码箱的密码发生了改变。
现在人们知道,能够打开密码箱的新密码是由原密码 $a$ 变化而来。具体的,新密码相比原密码变化了 $t$ 位数字,其中 $t$ 满足 $0 \leq t \leq k$,且对于变化的数字位,变化后的数字是在该位置原数字的基础上增加或减小 $1$ 得到的数字。特别的,如果原数字是 $0$,在原数字基础上减少 $1$ 得到的数字是 $9$;如果原数字是 $9$,在原数字基础上增加 $1$ 得到的数字是 $0$。
现在人们知道了 $n, a, k$,想知道经过宇宙射线侵蚀后,所有可能打开密码箱的密码。
人类将重任交到了你身上,请你帮助人类解决这个问题。你需要由小到大输出所有可能的密码,每个一行。
特别的,有一些密码可能存在前导 $0$。为了方便操作,这时你**不必也不应**将这些前导 $0$ 一并输出。
人类感谢你。
输入输出格式
输入格式
输入只有一行三个整数,依次代表原密码位数 $n$,去掉前导零后的原密码 $a$,和变化位数的最大值 $k$。
输出格式
输出若干行,每一行包含一个整数,代表由小到大的所有可能的密码。
输入输出样例
输入样例 #1
3 14 1
输出样例 #1
4
13
14
15
24
114
914
说明
### 样例 1 解释
原密码为 $014$,允许至多 $1$ 位有变化。
所有密码情况如下:
| 变化位数和位置 | 可能的结果 |
| :-: | :-: |
| $0$ 位 | $014$ |
| $1$ 位,从左向右第 $1$ 位 | $114, 914$ |
| $1$ 位,从左向右第 $2$ 位 | $024, 004$ |
| $1$ 位,从左向右第 $3$ 位 | $013, 015$ |
共 $7$ 个可能的密码,按从小到大排序输出即可。
### 数据规模与约定
- 对于前 $10\%$ 的数据,保证 $n = k = 1$。
- 对于前 $40\%$ 的数据,保证 $k \leq 1$。
- 对于另外 $10\%$ 的数据,保证 $k = n$。
- 对于 $100\%$ 的数据,保证 $1 \leq n \leq 6$,$0 \leq a < 10 ^ n$,$0 \leq k \leq n$,保证输入数据无前导 $0$。
请注意,输出数据中**不应**存在前导 $0$。