Advertisement

UVa 816 Abbott's Revenge

阅读量:

一个最多由9*9个交汇点构成的迷宫结构。输入起始位置、离开起点时所面对的方向以及目标终点,寻找一条最短路径(若存在多条路径,任选其一即可)。
该迷宫的特殊性在于,进入某一交汇点时的方向(分别用NEWS四个字母表示北、东、西、南,即上、右、左、下)不同,将决定允许离开的方向。例如,“1 2 WLF NR ER *”表示坐标为(1,2)的交汇点具有三个路标,最后一个字符为结束标志。若进入该交汇点的方向为W,则只能选择L(左转)和F(前进)作为离开方向;其余情况依此类推。

要点:

  • 必须准确理解题意,若存在疑问,请结合测试样例和输出结果进行分析与判断。这一点至关重要,以免耗费大量时间编写代码后仍无法通过测试。
  • 其他方面并无特别需要注意之处,只需明确NEWS这四个方向以及左右转后的对应方向即可。
复制代码
    #include<iostream>
    #include<string>
    #include<cstring>
    #include<queue>
    #include<list>
    using namespace std;
    
    const int maxn = 10;
    
    //dir 0 1 2 3  => N E S W => 向上进来的
    enum dir { N, E, S, W };

全部评论 (0)

还没有任何评论哟~