202308B 小粉兔喜欢下象棋吗

· · 题解

Source & Knowledge

2023 年 08 月语言月赛,由洛谷网校入门计划/基础计划提供。

考察分支语句。

文字题解

本题实质上,需要判断马向八个方向跳动以后,是否能够同时将“帅”和“车”置于攻击位置。

通过顺序结构,我们可以计算出马向某一个方向跳动后的新位置,记为 (x,y),验证 (x,y) 在合法的棋盘范围后,此时,如果

\begin{cases} |C_x-x|+|C_y-y|=3 \\ C_x \neq x \\ C_y \neq y \\ |S_x-x|+|S_y-y|=3 \\ S_x \neq x \\ S_y \neq y \end{cases}

同时成立,那么在这个方向就可以实现将军抽车,输出 Yes,并结束程序。

如果八个方向均完成判断,没有能够实现将军抽车的跳动方法,输出 No

视频题解