QOJ.ac

QOJ

حد الوقت: 5 s - 30 s حد الذاكرة: 1024 MB مجموع النقاط: 29

#5847. 不同的和

الإحصائيات

我们为 Google Code Jam 2010 设计了一个有趣的题目,涉及选手解决算术谜题(cryptarithm)。但我们需要你的帮助来为该题创建测试用例;更准确地说,我们关注的是那些足够“好”(定义见下文)的加法等式,以便将其转换为算术谜题。

你不需要了解什么是算术谜题也能解决这个问题,因为我们将提供所有必要的定义。我们将“算术谜题等式”定义为一个加法等式,其书写方式使得所有加数和总和都向右对齐,如下所示:

124
31
25
---
180

此外,对于算术谜题等式的每一列,该列中所有加数的数字必须各不相同。注意,此约束不包含总和。例如,在上述等式中,第一列仅包含数字 1,第二列包含数字 2、3 和 2,第三列包含数字 4、1 和 5。由于第二列包含两个 2,因此该等式不是算术谜题等式。然而,如果我们用 15 替换最后一个加数(并将总和替换为 170),它就会成为一个算术谜题等式。 注意,算术谜题等式中的加数始终为正数,且书写时不含前导零。加数的顺序不重要(换句话说,仅加数顺序不同的两个等式被视为相同)。 上面的例子是在 10 进制下的,但我们也对其他进制下的算术谜题等式感兴趣。注意,$b$ 进制下的一个“数字”可以指 0 到 $b-1$ 之间的任何整数。以下是一个 23 进制下的算术谜题等式:

 I7B
JJJ
----
1F47

在这个例子中,“I”代表数字 18,“B”代表数字 11,“J”代表数字 19,“F”代表数字 15。在十进制表示中,两个加数分别为 $18 \times 23^2 + 7 \times 23 + 11 = 9694$ 和 $19 \times 23^2 + 19 \times 23 + 19 = 10507$,总和为 $1 \times 23^3 + 15 \times 23^2 + 4 \times 23 + 7 = 20201$。请注意,用字母表示 10 及以上的数字纯粹是为了示例清晰;在本题中,如何书写这些数字并不重要。 给定总和 $N$ 和进制 $B$,有多少种不同的算术谜题等式? 由于答案可能非常大,请输出其对 $1000000007$ 取模的结果。

输入格式

输入的第一行包含测试用例的数量 $T$。接下来有 $T$ 行,每行包含两个正整数 $N$ 和 $B$。所有输入数字均以十进制给出。

输出格式

对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是用例编号(从 1 开始),$y$ 是给定总和下不同算术谜题等式的数量。由于该数字可能非常大,请输出其对 $1000000007$ 取模的结果。当然,输出本身应以十进制表示。

数据范围

$1 \le T \le 20$。

小数据(测试集 1 - 可见;7 分)

$1 \le N \le 100$。

$2 \le B \le 10$。

大数据(测试集 2 - 隐藏;22 分)

$1 \le N \le 10^{18}$。

$2 \le B \le 70$。

样例

样例输入 1

2
6 10
8 4

样例输出 1

Case #1: 4
Case #2: 4

说明

以下是总和为 6 的 4 个算术谜题等式:

6   1   2   1
-   5   4   2
6   -   -   3
6   6   -
6

以下是 4 进制下总和为 $8=20_4$ 的 4 个算术谜题等式:

20   11   13   10
--    3    1    3
20   --   --    1
20   20   --
20

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.