CF1904A.Forked!

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Forked!

题目描述

Lunchbox 不想再下国际象棋了!他的皇后和国王又被马“叉”了!

在国际象棋中,“叉”指的是马同时攻击两个更高价值的棋子,通常是国王和皇后。Lunchbox 知道马很狡猾,而在他玩的变种国际象棋中,马更加狡猾:马的走法不是在一个方向上走 11 格、另一个方向上走 22 格,而是可以在一个方向上走 aa 格、另一个方向上走 bb 格。

Lunchbox 在一个无限大的棋盘上玩棋,棋盘上的每个格子 (x,y)(x, y),其中 xxyy 都是整数(可以为负数)。Lunchbox 的国王和皇后分别放在 (xK,yK)(x_K, y_K)(xQ,yQ)(x_Q, y_Q) 上。请你求出有多少个位置,如果把马放在这些格子上,马能同时攻击到国王和皇后。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt1t10001 \leq t \leq 1000),表示测试用例的数量。

每组测试用例的第一行包含两个整数 aabb1a,b1081 \le a, b \le 10^8),表示马的走法。

第二行包含两个整数 xKx_KyKy_K0xK,yK1080 \le x_K, y_K \le 10^8),表示 Lunchbox 的国王的位置。

第三行包含两个整数 xQx_QyQy_Q0xQ,yQ1080 \le x_Q, y_Q \le 10^8),表示 Lunchbox 的皇后的位置。

保证 Lunchbox 的国王和皇后不会在同一个格子上,即 (xK,yK)(xQ,yQ)(x_K, y_K) \neq (x_Q, y_Q)

输出格式

对于每组测试用例,输出一个整数,表示在无限棋盘上有多少个格子可以放置马,使得马能同时攻击到国王和皇后。

说明/提示

在第一个测试用例中,马可以在一个方向上走 2 格,另一个方向上走 1 格(这和标准国际象棋中的马一样)。如果马放在 (2,1)(2, 1)(1,2)(1, 2),就能同时攻击到国王和皇后。


上图是第一个测试用例中马“叉”皇后和国王的示例。马能攻击到的格子用红色高亮。

在第二个测试用例中,如果马放在 (2,2)(2, 2),就能同时攻击到国王和皇后。


上图是第二个测试用例中马不能“叉”皇后和国王的示例。马能攻击到国王,但不能攻击到皇后。

在第三个测试用例中,如果马放在 (4,4)(4, 4)(4,4)(4, -4),就能同时攻击到国王和皇后。

在第四个测试用例中,没有任何格子可以放置马,使得马能同时攻击到国王和皇后。

(感谢 EnDeRBeaT 提供精美图片)

由 ChatGPT 4.1 翻译

样例

4
2 1
0 0
3 3
1 1
3 1
1 3
4 4
0 0
8 0
4 2
1 4
3 4
2
1
2
0

在线编程 IDE

建议全屏模式获得最佳体验