噔哒!蒟蒻登场,在上一篇文章当中,我们讲了洛谷里面的一些关于广度优先搜索的题目,但难度较低,虽然本篇中的题目难度也不会高到哪去,但至少相比于上篇是有所增加的,接下来讲的是两篇普及/提高-的广搜题目,废话不多说,上题。
本篇也还是讲洛谷中关于bfs的题目。
1.P1443 马的遍历
我们照常先看题目:
题目很短,相比于上篇中的字数要少,看起来简洁明了(实际上是本蒟蒻的阅读能力不强,[忏悔][忏悔])。于是我就将输入输出样例和数据范围也截了,给出来。
由题可知,告诉你有一个n*m的棋盘,而给定马的坐标(x,y),让你打印马在这个棋盘上的每个点的步数。呃呃呃,别人都是给图,这题目是要输出图,有点不按套路出牌。但其实也不难,接下来就是重点了,家人们做笔记。
思路分析:
先定义一张地图mp[][],注意:用int类型。和往常一样,用dx[],dy[]数组分别设定八个方向,再用STL里面的queue队列,从节点(x,y)中不断拓展,搜索。不过特别注意:超出n或m的节点直接放弃,否则可能会使覆盖原本节点的步数&#