SP15453 KCARRY - Yet Another Electronic Device!!!
题目描述
MKS 非常热爱电子世界,决定发明一个属于自己的装置——一个 N 位进位计算器(类似于 N 位二进制加法器),用来计算在两个正好有 N 位的数相加时,出现非零进位的次数。这两个数分别是 $A = A_n A_{n-1} \ldots A_2 A_1$ 和 $B = B_n B_{n-1} \ldots B_2 B_1$。
这个进位计算器由 'N' 个十进制全加法器构成。第 i 个全加法器以 $A_i$、$B_i$ 和 $C_{i-1}$ 为输入,输出一个进位 $C_i$(0 或 1),其条件是 $A_i + B_i + C_{i-1}$ 大于 9 时,$C_i = 1$ 否则为 0。
这个 $C_i$ 会传递给下一个(i+1)个全加法器,并且会加入到累加器中,累加器累计所有 $C_j$(1 ≤ j ≤ i)的和。
**注意**:$C_0 = 0$ 并且 $0 \le A_i, B_i \le 9$。
例如,将 $A = 4567$ 和 $B = 734$(或 $B = 0734$)相加,累加器会累积到最终值 3。
在第一个加法器中,$A_1 = 7$,$B_1 = 4$,$C_0 = 0$,所以 $A_1 + B_1 + C_0 = 11$,生成进位 $C_1 = 1$。
在第二个加法器中,$A_2 = 6$,$B_2 = 3$,$C_1 = 1$,所以 $A_2 + B_2 + C_1 = 10$,生成进位 $C_2 = 1$。
在第三个加法器中,$A_3 = 5$,$B_3 = 7$,$C_2 = 1$,所以 $A_3 + B_3 + C_2 = 13$,生成进位 $C_3 = 1$。
在第四个加法器中,$A_4 = 7$,$B_4 = 0$,$C_3 = 1$,所以 $A_4 + B_4 + C_3 = 8$,无进位 $C_4 = 0$。
累加器中的最终值为 $C_1 + C_2 + C_3 + C_4 = 3$。
你的任务是通过计算,找出在两个数字不超过 N 位情况下相加时,累加器中得到值为 **K** 的所有不同方式。请注意,由于方法总数可能非常庞大,结果需要对 1000000007($10^9 + 7$)取模。
**本翻译由 AI 自动生成**
输入格式
无
输出格式
无