#P16581. [GKS 2016 #B] Sherlock and Watson Gym Secrets

    ID: 18954 远端评测题 6000ms 1024MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>数学2016数论容斥原理Google Kick Start

[GKS 2016 #B] Sherlock and Watson Gym Secrets

题目描述

Watson 和 Sherlock 是健身伙伴。

他们的健身教练给了他们三个数 AA、BB 和 NN,并要求 Watson 和 Sherlock 选出两个不同的正整数 ii 和 jj,且 ii 和 jj 均不超过 NN。Watson 每天需要恰好吃 iAi^A 个豆芽,Sherlock 每天需要恰好吃 jBj^B 个豆芽。

Watson 和 Sherlock 注意到,如果某一天他们两人吃的豆芽总数能被某个整数 KK 整除,那么他们在那一天就会相处融洽。

因此,Watson 和 Sherlock 需要你帮忙计算有多少对 (i,j)(i, j) 满足 i≠ji \neq j。由于对数可能非常大,请输出答案对 109+710^9+7(即 10000000071000000007)取模的结果。

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例由一行四个整数 AA、BB、NN 和 KK 组成,含义如上所述。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是所需的答案。

3
1 1 5 3
1 2 4 5
1 1 2 2
Case #1: 8
Case #2: 3
Case #3: 0

提示

在样例 11 中,可能的对为 (1,2)(1, 2)、(1,5)(1, 5)、(2,1)(2, 1)、(2,4)(2, 4)、(4,2)(4, 2)、(4,5)(4, 5)、(5,1)(5, 1) 和 (5,4)(5, 4)。

在样例 22 中,可能的对为 (1,2)(1, 2)、(1,3)(1, 3) 和 (4,1)(4, 1)。

在样例 33 中,由于 i≠ji \neq j,没有可能的对。

限制条件

1≤T≤1001 \le T \le 100。

0≤A≤1060 \le A \le 10^6。

0≤B≤1060 \le B \le 10^6。

小数据集(测试集 1 – 可见)

1≤K≤100001 \le K \le 10000。

1≤N≤10001 \le N \le 1000。

大数据集(测试集 2 – 隐藏)

1≤K≤1000001 \le K \le 100000。

1≤N≤10181 \le N \le 10^{18}。

翻译由 DeepSeek V4 Pro 完成