将军抽车是中国象棋中常用的进攻策略。如下图所示,此时红帅在 (1, 5),红车在 (2, 8)。若黑马跳到红框位置所指的 (3, 6),帅将由于被将军被迫移动,此时,马就可以吃掉红车。

本题将解决将军抽车的简化版问题。在本题中,将军抽车就是要通过一步跳马,在能够将军的同时将车置于马的攻击位置。

只考虑棋盘上有红帅、红车、黑马各一枚的情况,不考虑帅是否可以通过移动实现对车的保护,不考虑别马腿,在当前局面,轮到黑棋移动时,黑马是否可以通过一步移动,在不出界的情况下,实现将军抽车?

输入格式 输入共三行。

输入的第一行为两个整数 S x, S y,表示红帅的位置为 (S x, S y)。

输入的第二行为两个整数 C x, C y,表示红车的位置为 (C x, C y)。

输入的第三行为两个整数 M x, M y,表示黑马的位置为 (M x, M y)。

保证红帅在 1∼3 行的九宫格内。

输出格式 输出一行一个字符串:

若可以实现将军抽车,输出 Yes。 若不可以实现将军抽车,输出 No。

输入输出样例 输入 #1

1 5
2 8
5 5

输出 #1

Yes

输入 #2

1 5
2 9
5 5

输出 #2

No

思路: 首先判断黑马的八个位置是否有在红车的攻击范围内的,如果有则输出Yes,否则输出No。

具体步骤如下:

  1. 读取输入的红帅、红车和黑马的位置。
  2. 判断黑马的八个位置是否有在红车的攻击范围内的,如果有则输出Yes,否则输出No。
  3. 结束。
将军抽车问题:中国象棋中的进攻策略

原文地址: https://www.cveoy.top/t/topic/qhWE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录