题解 1426: 蓝桥杯历届试题-九宫重排

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯历届试题-九宫重排(C++代码),6种解法,最终版本用时:23ms

##前言洛谷也有差不多的这一题,除了输入有点不一样。下面我只说算法思路,具体的代码细节我就不赘述了,我贴出AC代码,希望能给各位一点帮助!由于我在不同oj上提交,代码会有些改动,我不知道会不会搞混了。如有错误,请各位指正。为确保题解不要太长,代码我就不在这里贴。

广度优先搜索+队列

```javaimportjava.util.*;publicclassMain{staticclassNode{Stringstatue;intstep;intx;Node(Stringstatue,intstep,intx){this.statue=statue;this.step=step;th

旋桜-九宫重排-双向BFS(C++代码)

如果这题单纯用BFS可能会超时于是考虑使用双向BFS~~从终点和起点同时开始搜索,左右包抄,当然要快一点了~~据说这题用双向BFS比单向BFS要快20倍当然不是所有最短路径题都可以使用双向BFS######使用双向BFS的前提是要知道起点和终点######这个算法的大致思路是一端从起点开始搜另一端从终

蓝桥杯历届试题-九宫重排-题解(C++代码)

**思路**:使用bfs+set判重(方法多种)这是最简单的。用结构体保存初末状态步数,并且入队,向四个方向寻找下一个状态放到set集合(判重)和队列(bfs)中,一直找下去,直到找到末状态.待更:单向bfs+set判重(7.72秒)```cpp#includeusingnamespacestd;ty