![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bfs
࿐ཉི༗࿆一鲸落,万物生 ༗࿆ཉི࿐
这个作者很懒,什么都没留下…
展开
-
蓝桥杯历届试题-九宫重排
解题思路:题目给了我们2个字符串,因为是求最小值所以我们首先想到的应该是用BFS来做这道题(我这个憨憨一开始竟然是用DFS做的,我是真服了自己了),首先我们先要把题目给我们的起始字符串转化成二维数组,连带着把空格的坐标,当前的要走的步数弄成一个结构体,放到队列里面去宽搜,宽搜的时候注意把当前的状态再次转换成字符串标记一下状态,如果走到了终点就更新一下答案,如果当前状态没有走过就标记一下,放到队列里面,还要注意状态的转移,应该是把当前位置上的数变成搜到的位置上的数,搜到的位置上填'.'(空格),最后...原创 2022-04-04 19:56:46 · 414 阅读 · 0 评论 -
Acwing 3200 无线网络
解题思路:本题的难点在于如何建图(其实这一点并不多难也。。),以及如何表示至多新增k个路由器(这才是这个题最难的地方)。首先对于建图,根据题目要求,2个地点的距离如果是小于给定数值r的话是可以建立联系的,我们先是将所有点的坐标给读进来,为了区分哪些是已有的,哪些是需要新建的,用1~n表示已有的路由器,n+1~n+m表示需要新建的路由器,2个for循环得到所有点之间的距离并根据题目要求进行建边(这是是双向边),这一步完成后就是进行bfs()了,里面的精髓是dist数组的建立,dist[i][j]表...原创 2022-03-13 21:15:52 · 309 阅读 · 0 评论 -
Borg Maze POJ - 3026
附上带中文的题目这个题的题意就是求S和A组成的最小生成树,这题的一个对大部分人来说的一个坑点是读入,我一开始也是被卡了,发现算出来的答案贼大,然后找bug发现读入都没对,后来又用的gets,然后又发现少读了1行,原因是因为在第一行输入2个数字后会有一个回车,这个回车会占一个gets,所以要先把回车给读了再去读字符。然后就是我自己思路的原因了,太菜了QAQ,我的思路出现了问题,我一开始的思路是2重循环,分别算出一个点到其他所有点的距离,把他们都加入到了求Kruskal的结构体中,代码如下:#原创 2021-10-27 22:21:55 · 89 阅读 · 0 评论