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)
还没有任何评论哟~
