搜索
bfs dfs
Christine_xb
lnsyoier
展开
-
poj2362 square
dfs#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;int m,SUM,l;int a[27],vis[27];int dfs(int pos,int sum_1,int num){ if(...原创 2020-03-05 21:00:00 · 175 阅读 · 0 评论 -
p2277 24点游戏
老师的代码 简单解释一下#include<iostream>#include<cstdio>#include<cmath>#include<bits/stdc++.h>#include<algorithm>using namespace std;double a[5];int flag;void dfs(int n,do...原创 2020-03-04 20:04:47 · 512 阅读 · 0 评论 -
p1443马的遍历
就是一道很简单的bfs,我为了练习一下queue类型的函数,第一次没有用数组模拟,直接上代码。这道题有一个特殊的输出,就是输出宽五行,学习一下。#include<cstdio>#include<cstring>#include<string>#include<iostream>#include<queue>using nam...原创 2020-02-06 12:26:45 · 181 阅读 · 0 评论 -
双向bfs学习笔记
双向bfs相关整理双向bfs主要是引入起点和终点一起遍历,并给数组多加一维。因为双向的最短路一定是整体的最短路,即搜索到一个点另一位也已经搜索到,直接输出即可。双向bfs的好处:考虑广度优先遍历,越到后面的层数,常数越大,如果采用双向bfs这一遍历方式可以使常数大大减小,从而起到降低时间复杂度的作用。双向和单向的区别在于,可以从终点和起点同时出发,记录每个点是被从起点开始的访问了(开一个vi...原创 2020-02-07 12:13:43 · 390 阅读 · 0 评论 -
p1379八数码难题
这道题就是一个双向bfs的例题,需要用到map判重减少时间复杂度,这一点具体我还没有太明白,等弄明白了在补充上来。直接上代码#include<cstdio>#include<iostream>#include<algorithm>#include<queue>#include<map>using namespace std;...原创 2020-02-07 12:26:13 · 225 阅读 · 0 评论 -
p4289移动玩具
#include#include#includeusing namespace std;typedef long long ll;const int maxn=(1<<16)+5;int s,e,now,temp,f;int h[2];int t[2];int v[2][maxn];//存储步数int q[2][maxn];void expand(int m,in...原创 2020-02-08 08:50:44 · 148 阅读 · 0 评论