CF819C Mister B and Beacons on Field

题目描述

B 先生的房子坐落在一片巨大的平原正中,这吸引了外星生命的注意。为方便起见,外星人在这片平原上设立了笛卡尔坐标系,使得 B 先生的房子位于坐标 $ (0,0) $。之后他们向平原发射了三个信标,但出现了意外。其中一个信标被完全摧毁,而另外两个分别落在了坐标 $ (m,0) $ 和 $ (0,n) $ 的位置,但都已关闭。 B 先生对这些设备很感兴趣,于是决定把它们带回家。他首先来到第一个信标 $ (m,0) $ 处,将其拾起,并选择最短路径将其带回家。之后他又来到另一个信标 $ (0,n) $ 处,同样选择最短路径将其带回家。当第一个信标被拾起时,信标的导航系统被激活。 部分损坏的导航系统按照如下方式工作: 在两个尚存信标都位于整点坐标的时刻,系统尝试寻找第三个信标的位置。当且仅当存在一个整点坐标,使得由这两枚信标及该点组成的三角形面积恰好为 $ s $ 时,系统会向外星人发送一份信标位置的消息包,否则不发送。 请计算在 B 先生移动信标期间,系统总共发出了多少份消息包。

输入格式

第一行包含一个整数 $ t $($1 \leq t \leq 1000$),表示测试用例数量。接下来 $3 \cdot t$ 行描述 $ t $ 组测试数据。 每组测试数据由以下三行组成(注意每个参数均为三个因子的乘积形式): 第一行包含三个用空格分隔的整数:$ n_{1} $、$ n_{2} $、$ n_{3} $($1 \leq n_{i} \leq 10^{6}$),使得 $ n = n_1 \cdot n_2 \cdot n_3 $。 第二行包含三个用空格分隔的整数:$ m_{1} $、$ m_{2} $、$ m_{3} $($1 \leq m_{i} \leq 10^{6}$),使得 $ m = m_1 \cdot m_2 \cdot m_3 $。 第三行包含三个用空格分隔的整数:$ s_{1} $、$ s_{2} $、$ s_{3} $($1 \leq s_{i} \leq 10^{6}$),使得 $ s = s_1 \cdot s_2 \cdot s_3 $。 注意,对于卡题数据,只有 $ t=1 $ 的情况是被允许的。

输出格式

输出 $ t $ 行,每行一个整数,表示每组测试数据的答案。

说明/提示

第一个测试点有如下信标位置:$ (2,0) $ 和 $ (0,2) $,$ s=3 $。可能发送的数据包有:$ ((2,0),(0,2),(-1,0)) $,$ ((1,0),(0,2),(4,0)) $,$ ((0,0),(0,2),(3,1)) $,$ ((0,0),(0,1),(-6,0)) $,其中 $ (b_{1},b_{2},p) $ 的含义是:$ b_{1} $——第一个信标的位置,$ b_{2} $——第二个信标的位置,$ p $——某个生成的新点。 第二个测试点有如下信标初始位置:$ (4,0) $ 和 $ (0,5) $,$ s=2 $。可能发送的数据包有:$ ((4,0),(0,5),(0,4)) $,$ ((3,0),(0,5),(2,3)) $,$ ((2,0),(0,5),(2,2)) $,$ ((1,0),(0,5),(1,4)) $,$ ((0,0),(0,4),(0,-1)) $,$ ((0,0),(0,2),(2,0)) $,$ ((0,0),(0,1),(4,0)) $。 由 ChatGPT 5 翻译