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

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

筛选

优质题解

✔✔✔ 双向BFS+最简题解 [c++]

![](/image_editor_upload/20210305102333_23065.png)*cntMat[x]:矩阵x累计所花的步数(从起点到现在的状态累积所用的步数)dirMat[x]:矩阵x的BFS方向(1方向或2方向)*题解全采用字符串形式存储矩阵↓```cpp#include#inc

bfs_STL_简单易懂_九宫重排

用bfs搜索一下即可,用的string一维来代替二维的迷宫,用二维的char二维数组来查重我想不到,而用string只要用string的set即可;需要注意的是搜索二维的上下左右变成一维后需要改动,注意边界:0<=x<=8,并且在此基础上有一些特殊情况,

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

###起点和终点区别,一起搜索```cpp#include#include#include#includeusingnamespacestd;inta[4][2]={1,0,-1,0,0,1,0,-1};//坐标数组,进行上下左右移动mapmp1;//存每次变换的结果mapmp2;//存每种结果的步数

蓝桥杯历届试题-九宫重排 c++

```#includeusingnamespacestd;intfx[4][2]={{0,-1},{-1,0},{0,1},{1,0}};stringstart;stringed;unordered_mapd;intbfs(stringstart){queueq;q.push(start);d[sta

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

解题思路:暴力搜索,然后去掉重复的图,九宫格最多的排列组合也就是9!,也就是说最多一共362880种,本题使用使用100000的数组可以拿到50%的分,150000的数组可以拿到67%的分,200000的数组可以拿到100%的分,也没到达362880,