2 solutions

  • 1
    @ 2024-11-13 21:07:58

    本题解法:暴力

    今天(24-11-13)课上老师的正确代码用了一百多行,一看用了几十个ifif语句。。。

    其实根本不需要这么麻烦!!

    我们只需要将车和将的点标记为22,马能跳到的点标记为11一定不要标马所在的点,因为题目要求马跳一步后实现操作),双重循环(共执行910=909*10=90次)扫一遍后查找点11(见上文),如果查到就再将马第二步所跳到的点+1+1,再双重循环扫一遍(共执行8910==7208*9*10==720次)查找是否正好有2个点33,这样原先的点22(见上文)+1+1代表车和将都被攻击,输出Yes否则马第二步所跳到的点1-1,因为这样可以重新去找。如果9090个点都没有,即无法达到目的,输出No

    代码:

    image image

    代码解释:

    · 第6行:读入。

    · 第7~15行:标点。

    · 第16~17行:双重循环。

    · 第18~44行:如果马能跳到这个点,按上文方法标记,用ansans查找,正好为两个cout<<"Yes";,否则将点归零便于下一次查找。

    · 第48行:如果查不到(如果查到34行就return 0; 了),cout<<"No";

    TJNO:3

    • @ 2025-10-14 17:11:18

      这道题洛谷有原题,如果想要追求更强的数据请前往洛谷评测。

    • @ 2025-10-14 17:19:07

      下面附上我在洛谷上的AC记录:

      因为这是题解作者的小号,所以大家不闭怀疑。

Information

ID
691
Time
1000ms
Memory
256MiB
Difficulty
7
Tags
(None)
# Submissions
142
Accepted
30
Uploaded By