#2357. C++-小粉兔喜欢下象棋吗

C++-小粉兔喜欢下象棋吗

[语言月赛 202308] 小粉兔喜欢下象棋吗

题目描述

在中国象棋中,马走日字形。用 (i,j)(i,j) 表示第 ii 行第 jj 列的格点,不考虑别马腿,考虑跳出棋盘外,在 (i,j)(i,j) 的马可以跳到 (i2,j+1)(i-2,j+1)(i2,j1)(i-2,j-1)(i1,j+2)(i-1,j+2)(i1,j2)(i-1,j-2)(i+1,j+2)(i+1,j+2)(i+1,j2)(i+1,j-2)(i+2,j+1)(i+2,j+1)(i+2,j1)(i+2,j-1) 八个位置。

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

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

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

输入格式

输入共三行。

输入的第一行为两个整数 Sx,SyS_x,S_y,表示红帅的位置为 (Sx,Sy)(S_x,S_y)

输入的第二行为两个整数 Cx,CyC_x,C_y,表示红车的位置为 (Cx,Cy)(C_x,C_y)

输入的第三行为两个整数 Mx,MyM_x,M_y,表示黑马的位置为 (Mx,My)(M_x,M_y)

保证红帅在 131 \sim 3 行的九宫格内。

输出格式

输出一行一个字符串:

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

样例 #1

样例输入 #1

1 5
2 8
5 5

样例输出 #1

Yes

样例 #2

样例输入 #2

1 5
2 9
5 5

样例输出 #2

No

提示

数据规模与约定

对于 100%100\% 的测试数据,1Sx31 \le S_x \le 34Sy64 \le S_y \le 61Cx,Mx101 \le C_x,M_x \le 101Cy,My91 \le C_y,M_y \le 9。保证没有任意两枚棋子初始时处于同一位置。