2296. 神殿

(File IO): input:temple.in output:temple.out

时间限制: 1500 ms  空间限制: 524288 KB  具体限制

Goto ProblemSet

题目描述

纪中10日T3 2296. 神殿 bfs-LMLPHP

输入

纪中10日T3 2296. 神殿 bfs-LMLPHP

输出

纪中10日T3 2296. 神殿 bfs-LMLPHP

样例输入

样例输入1
2 2
+*
*U
1 1 2 2
样例输入2
2 3
<><
><>
1 1 2 1

样例输出

样例输出1
-1
样例输出2
4

数据范围限制

纪中10日T3 2296. 神殿 bfs-LMLPHP

提示

题目标中的特殊符号:<>^v+*|-

Solution

走迷宫是BFS的长项

而这一道题就是在走迷宫的基础上改动了一些规则而已

广度优先遍历的规则:

对于这道题,我们首先要解决状态表示

我的做法是,用一个四维bool数组以及一个四位的int数组

bool dt[][][][];
// dt x y rec door
int door[]={,,,};

如注释所示,dt[x][y][rec][door]即表示坐标为(x,y)的房间里,此时状态为rec时,编号为door的门的状态

那么

05-26 16:29