对于提交的翻译的纠错和补全提示部分
查看原帖
对于提交的翻译的纠错和补全提示部分
165609
WorldHim楼主2022/10/26 16:53

题目描述

很久以前,你想到了两个有限的等差级数 AABB。然后你发现另一个序列 CC 包含了 AABB 的所有公有元素。不难看出, CC 也是一个有限等差数列。

许多年后,你忘记了 AA 是什么,但还记得 BB 数列和 CC 数列。出于某种原因,你决心找到这个丢失的等差数列。在你开始这个永恒搜索之前,你想知道有多少个不同的有限等差数列可以作为你丢失的数列 AA

如果两个等差数列的第一项、公差数或项数不同,则认为它们不同。

有可能有无限多这样的数列,在这种情况下,你不需要尝试找到它们!你只要直接输出 1-1

即使它们的数量有限,答案也可能非常大。你只需要求对 109+710^9+7 取模的答案。

输入格式

第一行包含一个整数 tt (1t100)(1\leq t\leq 100),表示测试用例的数量。

每个测试用例的第一行包含三个整数 bbqqyy (109b109(-10^9 \leq b \leq 10^91q1091 \leq q \leq 10^92y109)2 \leq y \leq 10^9),分别表示 bb 的第一项、公约数和项数。

每个测试用例的第二行包含三个整数 ccrrzz (109c109(-10^9 \leq c \leq 10^91r1091 \leq r \leq 10^92z109)2 \leq z \leq 10^9),分别表示 cc 的第一项、公差和项数。

输出格式

对于每个测试用例,打印包含单个整数的一行。

如果有无限多个有限等差数列可能是你忘记的数列 AA,打印 1-1

否则,打印有限等差数列的数量,这可能是你忘记的数列 AA % 109+710^9+7。特别地,如果没有这样的有限等差数列,则输出 00

说明/提示

对于第一个测试用例,B={3,2,1,0,1,2,3}B=\{-3,-2,-1,0,1,2,3\}C={1,1,3,5}C=\{-1,1,3,5\},不存在等差数列 AA,因为 55 不存在于 BB 中,所以 55 也不应该存在于 CC 中。

对于第二个测试用例,B={9,6,3,0,3,6,9,12,15,18,21}B=\{-9,-6,-3,0,3,6,9,12,15,18,21\}C={0,6,12}C=\{0,6,12\},有 1010 个可能的等差数列 AA

  • {0,6,12}\{0,6,12\}
  • {0,2,4,6,8,10,12}\{0,2,4,6,8,10,12\}
  • {0,2,4,6,8,10,12,14}\{0,2,4,6,8,10,12,14\}
  • {0,2,4,6,8,10,12,14,16}\{0,2,4,6,8,10,12,14,16\}
  • {2,0,2,4,6,8,10,12}\{-2,0,2,4,6,8,10,12\}
  • {2,0,2,4,6,8,10,12,14}\{-2,0,2,4,6,8,10,12,14\}
  • {2,0,2,4,6,8,10,12,14,16}\{-2,0,2,4,6,8,10,12,14,16\}
  • {4,2,0,2,4,6,8,10,12}\{-4,-2,0,2,4,6,8,10,12\}
  • {4,2,0,2,4,6,8,10,12,14}\{-4,-2,0,2,4,6,8,10,12,14\}
  • {4,2,0,2,4,6,8,10,12,14,16}\{-4,-2,0,2,4,6,8,10,12,14,16\}

对于第三个测试用例,B={2,7,12,17,22}B=\{2,7,12,17,22\}C={7,12,17,22}C=\{7,12,17,22\},有无限多个可能的等差数列 AA

  • {7,12,17,22}\{7,12,17,22\}
  • {7,12,17,22,27}\{7,12,17,22,27\}
  • {7,12,17,22,27,32}\{7,12,17,22,27,32\}
  • {7,12,17,22,27,32,37}\{7,12,17,22,27,32,37\}
  • {7,12,17,22,27,32,37,42}\{7,12,17,22,27,32,37,42\}
  • \ldots

## 题目描述
很久以前,你想到了两个有限的[等差级数](https://baike.baidu.com/item/%E7%AD%89%E5%B7%AE%E7%BA%A7%E6%95%B0) $A$ 和 $B$。然后你发现另一个序列 $C$ 包含了 $A$ 和 $B$ 的所有公有元素。不难看出, $C$ 也是一个有限等差数列。

许多年后,你忘记了 $A$ 是什么,但还记得 $B$ 数列和 $C$ 数列。出于某种原因,你决心找到这个丢失的等差数列。在你开始这个永恒搜索之前,你想知道有多少个不同的有限等差数列可以作为你丢失的数列 $A$。

如果两个等差数列的第一项、公差数或项数不同,则认为它们不同。

有可能有无限多这样的数列,在这种情况下,你不需要尝试找到它们!你只要直接输出 $-1$。

即使它们的数量有限,答案也可能非常大。你只需要求对 $10^9+7$ 取模的答案。

## 输入格式
第一行包含一个整数 $t$ $(1\leq t\leq 100)$,表示测试用例的数量。

每个测试用例的第一行包含三个整数 $b$、$q$ 和 $y$ $(-10^9 \leq b \leq 10^9$、$1 \leq q \leq 10^9$、$2 \leq y \leq 10^9)$,分别表示 $b$ 的第一项、公约数和项数。

每个测试用例的第二行包含三个整数 $c$、$r$ 和 $z$ $(-10^9 \leq c \leq 10^9$、$1 \leq r \leq 10^9$、$2 \leq z \leq 10^9)$,分别表示 $c$ 的第一项、公差和项数。

## 输出格式
对于每个测试用例,打印包含单个整数的一行。

如果有无限多个有限等差数列可能是你忘记的数列 $A$,打印 $-1$。

否则,打印有限等差数列的数量,这可能是你忘记的数列 $A$ $%$ $10^9+7$。特别地,如果没有这样的有限等差数列,则输出 $0$。
## 说明/提示
对于第一个测试用例,$B=\{-3,-2,-1,0,1,2,3\}$、$C=\{-1,1,3,5\}$,不存在等差数列 $A$,因为 $5$ 不存在于 $B$ 中,所以 $5$ 也不应该存在于 $C$ 中。

对于第二个测试用例,$B=\{-9,-6,-3,0,3,6,9,12,15,18,21\}$、$C=\{0,6,12\}$,有 $10$ 个可能的等差数列 $A$:

- $\{0,6,12\}$
- $\{0,2,4,6,8,10,12\}$
- $\{0,2,4,6,8,10,12,14\}$
- $\{0,2,4,6,8,10,12,14,16\}$
- $\{-2,0,2,4,6,8,10,12\}$
- $\{-2,0,2,4,6,8,10,12,14\}$
- $\{-2,0,2,4,6,8,10,12,14,16\}$
- $\{-4,-2,0,2,4,6,8,10,12\}$
- $\{-4,-2,0,2,4,6,8,10,12,14\}$
- $\{-4,-2,0,2,4,6,8,10,12,14,16\}$

对于第三个测试用例,$B=\{2,7,12,17,22\}$、$C=\{7,12,17,22\}$,有无限多个可能的等差数列 $A$:

- $ \{7,12,17,22\} $
- $ \{7,12,17,22,27\} $
- $ \{7,12,17,22,27,32\} $
- $ \{7,12,17,22,27,32,37\} $
- $ \{7,12,17,22,27,32,37,42\} $
- $ \ldots $
2022/10/26 16:53
加载中...