![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
MoYingo
菜狗
展开
-
HDU Eight (BFS+康拓展开)
HDU1043 Eight题目给出数字八数码游戏的一种棋局状态,求完成游戏的步骤,输出任意一种即可思路每种对弈状态可以抽象成一个19的数字排列,所以所有的可能就是19的全排列,总共是10610^6106级,因此可以穷举。考虑搜索,从初始态穷举所有状态。首先,如何搜索,如果使用BFS,显然会造成重复,并且无法通过简单的打标记方法解决。但是,我们可以通过对他们的全排列进行编号,这样就可以采用标记解决。那么,解决如何快速获取一对弈状态的全排列编号的问题。我们可以使用康拓展开,排列的编号是倒原创 2021-09-23 20:21:37 · 139 阅读 · 0 评论 -
Fire!(多源BFS)
Fire!link思路跑两遍bfs ,第一遍跑火,得到被烧的时间, 以此跑第二遍人的bfs##AC代码#include <bits/stdc++.h>#define inf 0x3f3f3f3f//#define int long longusing namespace std;typedef pair<int, int> PII;const int N = 10 + 1e3, mod = 1e9 + 7;int n, m;char g[N][N];int原创 2021-08-20 18:55:00 · 100 阅读 · 0 评论 -
POJ3984(记录路径的BFS)
POJ3984思路用一个pre数组存储这个点的上一个点##AC代码#include<iostream>#include<cstdio>#include<queue>#include<cstring>#define inf 0x3f3f3f3f//#define int long longusing namespace std;typedef pair<int, int> PII;const int N = 10 + 1e5,原创 2021-08-20 17:34:51 · 92 阅读 · 0 评论