题目名称 2788. B先生和指向标
输入输出 MrBC1.in/out
难度等级 ★★★★
时间限制 5000 ms (5 s)
内存限制 256 MiB
测试数据 10
题目来源 GravatarShirry 于2017-08-27加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:2, 通过率:50%
GravatarShirry 100 26.914 s 34.65 MiB C++
GravatarShirry 10 9.440 s 34.65 MiB C++
关于 B先生和指向标 的近10条评论(全部评论)
最后一个点可能有些玄学……重评就可以过了
GravatarShirry
2017-08-27 23:27 1楼

2788. B先生和指向标

★★★★   输入文件:MrBC1.in   输出文件:MrBC1.out   简单对比
时间限制:5 s   内存限制:256 MiB

【题目描述】


  B先生在一个广阔的平原中间有一座房子,这引起了外星人的注意。为了方便起见,外星人在平原上指定了笛卡尔坐标系,使得B先生的房子的坐标为(0,0)。之后,他们发送了三个指向标到现场,但出了些问题。一个指向标被完全毁坏,另外两个指向标都是关闭着的,并且分别落在坐标(m,0)和(0,  n)的位置。

  B先生对这个装置很感兴趣,所以他决定把它们带回家。他来到第一个指向标的位置(m,0),拾起它,并选择最短的路径来把它放回家中。之后,他来到另一个指向标的位置(0,  n),同样选择最短的路径把它带回家。

  当第一个指向标被提起时,指向标的导航系统被激活。部分毁坏的导航系统开始以下列方式工作。

  在两个幸存的指向标处于整数坐标点的时刻,系统试图找到第三个指向标的位置。当且仅当存在具有整数坐标的点,使得与两个幸存的指向标形成的三角形的面积等于s时,系统才会向外星人发送指向标位置的信息,否则不会。

  计算B先生移动指向标时,系统发送信息坐标的数量。


【输入格式】


第一行包含一个整数t(1≤ t ≤1000),测试数据的个数。接下来的3t行描述了t个测试数据。

测试数据的第一行包含三个空格隔开的整数:n1,n2,n3 (1≤ni≤10^6),使得n=n1*n2*n3。

第二行包含三个空格隔开的整数:m1,m2,m3 (1≤ mi≤10^6),使得m=m1*m2*m3。

第三行包含三个空格隔开的整数:m1,m2,m3 (1≤ mi ≤10^6),使得s=s1*s2*s3。


【输出格式】

输出答案。

【样例输入】

3

2 1 1

2 1 1

1 1 3

1 5 1

2 2 1

1 1 2

10 6 18

2 103 2

13 1 13

【样例输出】

4

7

171

【提示】

在此键入。

【来源】

在此键入。