标签:10 door 输出 样例 2296 纪中 rec dt 输入
2296. 神殿
(File IO): input:temple.in output:temple.out
时间限制: 1500 ms 空间限制: 524288 KB 具体限制
题目描述
输入
输出
样例输入
样例输入1 2 2 +* *U 1 1 2 2 样例输入2 2 3 <>< ><> 1 1 2 1
样例输出
样例输出1 -1 样例输出2 4
数据范围限制
提示
题目标中的特殊符号:<>^v+*|-
Solution
走迷宫是BFS的长项
而这一道题就是在走迷宫的基础上改动了一些规则而已
广度优先遍历的规则:
在访问完所有的第i层节点后,才会开始访问第i+1层节点
队列里只会有相邻两层的节点
对于这道题,我们首先要解决状态表示
我的做法是,用一个四维bool数组以及一个四位的int数组
bool dt[1001][1001][4][4]; // dt x y rec door int door[4]={1,2,3,0};
如注释所示,dt[x][y][rec][door]即表示坐标为(x,y)的房间里,此时状态为rec时,编号为door的门的状态
那么
标签:10,door,输出,样例,2296,纪中,rec,dt,输入 来源: https://www.cnblogs.com/send-off-a-friend/p/11330414.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。