该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
余料成段(seam)
题目描述
工作台上有两根长度分别为 和 的带子。Y 同学准备选定一个正整数 ,将每根带子分别剪成尽可能多的长度为 的完整段。每根带子最后剩下的部分称为余料;余料长度可以为 ,但一定小于 。
他希望两根带子的余料都非空,并且能将这两份余料首尾相接,恰好得到一段长度为 的带子。连接时不损失长度,也不能再次裁剪余料。原带子可以一段完整段都剪不出来。
给定允许的长度区间 ,求有多少个整数 能满足上述要求。两种方案不同,当且仅当所选的 不同。
输入格式
第一行包含一个整数 ,表示测试用例数量。
接下来 行,每行包含四个整数 ,依次表示两根带子的长度和允许的完整段长度区间。
输出格式
对于每组测试用例,输出一行一个整数,表示满足要求的 的数量。
样例
样例输入 #1
3
6 6 1 12
5 7 3 6
4 5 1 3
样例输出 #1
2
3
1
样例输入 #2
1
3 6 10 10
样例输出 #2
0
样例输入 #3
1
9 7 1 16
样例输出 #3
4
样例解释
第一组样例的第一组测试用例中,可以选择 :两根带子各剪出一段,余料长度均为 。也可以选择 :两根原带子都作为余料,连接后长度为 。
选择 时,两根带子的余料长度均为 ,不符合“余料都非空”的要求。
数据范围与约定
对于所有数据,保证 ,,。
每个测试点 分,分档如下:
| 测试点 | 分值 | 范围 | 特殊性质 |
|---|---|---|---|
| ,, | 无 | ||
| ,, | |||
| ,, | A | ||
| B | |||
| ,, | 无 | ||
| ,, |
特殊性质 A:每组测试用例均满足 。
特殊性质 B:每组测试用例的 均为 的整数次幂。