蓝桥杯 [九宫重排]
题目:
思路:
以字符串的形式记录每一次的状态,从初始状态开始,把每一次没有遇到过的状态加入队列,再次进行下一次搜索,直到第一次遇到与结束位置一样的就是我们要找的最短次数
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll MAX = 1e5 + 5;
string Head;//开始位置
string End;//结束位置
typedef struct AA {
string val;
int x;
int y;//空位的位置
int sum;
};
queue<AA> q;//队列 广搜
map<string, int> m;// 去重
int val = -1;
string Map_str(string a, int x, int y, int tx, int ty