A14989 | Lost Arithmetic Progression
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Long ago, you thought of two finite [arithmetic progressions](https://en.wikipedia.org/wiki/Arithmetic_progression) $A$ and $B$ . Then you found out another sequence $C$ containing all elements common to both $A$ and $B$ . It is not hard to see that $C$ is also a finite arithmetic progression. After many years, you forgot what $A$ was but remember $B$ and $C$ . You are, for some reason, determined to find this lost arithmetic progression. Before you begin this eternal search, you want to know how many different finite arithmetic progressions exist which can be your lost progression $A$ .
Two arithmetic progressions are considered different if they differ in their first term, common difference or number of terms.
It may be possible that there are infinitely many such progressions, in which case you won't even try to look for them! Print $-1$ in all such cases.
Even if there are finite number of them, the answer might be very large. So, you are only interested to find the answer modulo $10^9+7$ .
Two arithmetic progressions are considered different if they differ in their first term, common difference or number of terms.
It may be possible that there are infinitely many such progressions, in which case you won't even try to look for them! Print $-1$ in all such cases.
Even if there are finite number of them, the answer might be very large. So, you are only interested to find the answer modulo $10^9+7$ .
输入格式
The first line of input contains a single integer $t$ ( $1\leq t\leq 100$ ) denoting the number of testcases.
The first line of each testcase contains three integers $b$ , $q$ and $y$ ( $-10^9\leq b\leq 10^9$ , $1\leq q\leq 10^9$ , $2\leq y\leq 10^9$ ) denoting the first term, common difference and number of terms of $B$ respectively.
The second line of each testcase contains three integers $c$ , $r$ and $z$ ( $-10^9\leq c\leq 10^9$ , $1\leq r\leq 10^9$ , $2\leq z\leq 10^9$ ) denoting the first term, common difference and number of terms of $C$ respectively.
The first line of each testcase contains three integers $b$ , $q$ and $y$ ( $-10^9\leq b\leq 10^9$ , $1\leq q\leq 10^9$ , $2\leq y\leq 10^9$ ) denoting the first term, common difference and number of terms of $B$ respectively.
The second line of each testcase contains three integers $c$ , $r$ and $z$ ( $-10^9\leq c\leq 10^9$ , $1\leq r\leq 10^9$ , $2\leq z\leq 10^9$ ) denoting the first term, common difference and number of terms of $C$ respectively.
输出格式
For each testcase, print a single line containing a single integer.
If there are infinitely many finite arithmetic progressions which could be your lost progression $A$ , print $-1$ .
Otherwise, print the number of finite arithmetic progressions which could be your lost progression $A$ modulo $10^9+7$ . In particular, if there are no such finite arithmetic progressions, print $0$ .
If there are infinitely many finite arithmetic progressions which could be your lost progression $A$ , print $-1$ .
Otherwise, print the number of finite arithmetic progressions which could be your lost progression $A$ modulo $10^9+7$ . In particular, if there are no such finite arithmetic progressions, print $0$ .
输入输出样例
输入 #1
8 -3 1 7 -1 2 4 -9 3 11 0 6 3 2 5 5 7 5 4 2 2 11 10 5 3 0 2 9 2 4 3 -11 4 12 1 12 2 -27 4 7 -17 8 2 -8400 420 1000000000 0 4620 10
输出 #1
0 10 -1 0 -1 21 0 273000
For the first testcase, $B=\{-3,-2,-1,0,1,2,3\}$ and $C=\{-1,1,3,5\}$ . There is no such arithmetic progression which can be equal to $A$ because $5$ is not present in $B$ and for any $A$ , $5$ should not be present in $C$ also.
For the second testcase, $B=\{-9,-6,-3,0,3,6,9,12,15,18,21\}$ and $C=\{0,6,12\}$ . There are $10$ possible arithmetic progressions which can be $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\}$
For the third testcase, $B=\{2,7,12,17,22\}$ and $C=\{7,12,17,22\}$ . There are infinitely many arithmetic progressions which can be $A$ like:
- $\{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$
For the second testcase, $B=\{-9,-6,-3,0,3,6,9,12,15,18,21\}$ and $C=\{0,6,12\}$ . There are $10$ possible arithmetic progressions which can be $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\}$
For the third testcase, $B=\{2,7,12,17,22\}$ and $C=\{7,12,17,22\}$ . There are infinitely many arithmetic progressions which can be $A$ like:
- $\{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$
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted