欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1904A.Forked!
Forked!
题目描述
Lunchbox 不想再下国际象棋了!他的皇后和国王又被马“叉”了!
在国际象棋中,“叉”指的是马同时攻击两个更高价值的棋子,通常是国王和皇后。Lunchbox 知道马很狡猾,而在他玩的变种国际象棋中,马更加狡猾:马的走法不是在一个方向上走 格、另一个方向上走 格,而是可以在一个方向上走 格、另一个方向上走 格。
Lunchbox 在一个无限大的棋盘上玩棋,棋盘上的每个格子 ,其中 和 都是整数(可以为负数)。Lunchbox 的国王和皇后分别放在 和 上。请你求出有多少个位置,如果把马放在这些格子上,马能同时攻击到国王和皇后。
输入格式
每组测试数据包含多组测试用例。第一行包含一个整数 (),表示测试用例的数量。
每组测试用例的第一行包含两个整数 和 (),表示马的走法。
第二行包含两个整数 和 (),表示 Lunchbox 的国王的位置。
第三行包含两个整数 和 (),表示 Lunchbox 的皇后的位置。
保证 Lunchbox 的国王和皇后不会在同一个格子上,即 。
输出格式
对于每组测试用例,输出一个整数,表示在无限棋盘上有多少个格子可以放置马,使得马能同时攻击到国王和皇后。
说明/提示
在第一个测试用例中,马可以在一个方向上走 2 格,另一个方向上走 1 格(这和标准国际象棋中的马一样)。如果马放在 或 ,就能同时攻击到国王和皇后。

上图是第一个测试用例中马“叉”皇后和国王的示例。马能攻击到的格子用红色高亮。
在第二个测试用例中,如果马放在 ,就能同时攻击到国王和皇后。

上图是第二个测试用例中马不能“叉”皇后和国王的示例。马能攻击到国王,但不能攻击到皇后。
在第三个测试用例中,如果马放在 或 ,就能同时攻击到国王和皇后。
在第四个测试用例中,没有任何格子可以放置马,使得马能同时攻击到国王和皇后。
(感谢 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
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |