![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
广搜
文章平均质量分 79
Hzy_hzy_hzy
世间万物生生衍息······ 你找到生命的存在了吗?
展开
-
(n*m地图)从一点无顺序到到多点最小步
#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int inf=9999999;int n,m,knum;char a[120][120];int book[120][120][2][2][2][2],c[4][2];原创 2017-04-07 16:09:26 · 715 阅读 · 0 评论 -
hdu1242
#include//代码写时主要注意了有多个r能到a输出它们最快到的那个时间,,//开始没做转换,,对每个r都进行广搜,,为保证正确性做了如下处理#define inf 9999999//对每个r进行广搜,,标记它达到每个点的时间(即book数组标记到此点的最小时间),,using namespace std;//book标记数组每次搜索不清空,,这样保证了最小时间const in原创 2017-04-15 00:12:16 · 247 阅读 · 0 评论 -
hdu_2102 A计划
//普通广搜,两个传送门相对着那么骑士陷入循环困境(没考虑到)其次就是想法和代码实现的差距#include#include#includeusing namespace std;char a[20][20][3];int book[20][20][3];struct f{ int x,y,li,step;}b[20*20*4];int main(){ int t;原创 2016-07-27 17:21:01 · 299 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I
#include#include#include#includeusing namespace std;const int N=110;int book[N][N];char a[N][N];struct f{int x,y,step;int early;//储存来源下标;int xx;//打怪次数}b[N*N*4];bool cmp(f p,f q){return p原创 2016-07-19 18:15:51 · 312 阅读 · 0 评论 -
1254 推箱子
(c语言版)整体思路:主线是以箱子为中心做广搜,能不能扩展某个点的条件是人能不能到到达(箱子要去方向的反方向这点)这时再写一个广搜(搜人能否到达这点),(人的位置总是在箱子移动前的位置可以找到不熟的话做hdu 1026打印路径的题)(要扩展的目标终点也有,可以写)整理代码的严谨性和逻辑性就完成了。#include#includeusing namespace std;const int原创 2016-07-20 23:33:29 · 557 阅读 · 0 评论 -
hdu-1429胜利大逃亡(续)
#include#include#includeusing namespace std;const int N=25;char a[N][N];struct f{int x,y,step,key;}b[N*N*1024];int book[N][N][1025];int main(){ int n,m,ti; while(~scanf("%d%d%d",&n,&原创 2016-07-29 18:15:35 · 285 阅读 · 0 评论 -
hdu 2579 Dating with girls(2)
k#include#includechar a[120][120];struct f{ int x,y,step;}b[120*120*4];int book[120][120][10];int main(){ int t; scanf("%d",&t); while(t--){ int n,m,k; int startx=0,starty=0,e原创 2016-07-29 19:13:28 · 237 阅读 · 0 评论 -
hdu 1180 诡异的楼梯
广搜的三维标记,第三维标记来路(即来自的四个方向分别标记),再用sort优先步数最小的,加C的广搜的队列模板 ,ac#include#include#include#includeusing namespace std;const int N=30;char a[N][N];int book[N][N][4];struct f{ int x,y,step;}b[N*N*4原创 2016-07-30 08:08:59 · 280 阅读 · 0 评论 -
hdu 1728 逃离迷宫(最小转弯)
每次将不转弯能到的点全部标记(标记转弯次数)接着也只能由这些点扩展了,,将它们能到的所有点标记,同时转弯次数加1。//暴力搜索非递归#include#includeint n,m;int book[120][120];char a[120][120];int dfs(int x,int y,int c){ int flag=0;//判断是否标记地图,没再标记就证明标记工作已经完成原创 2016-07-24 12:59:20 · 535 阅读 · 0 评论 -
广搜暴力
#include#include#include#include#include#includeusing namespace std;int a[250][2],temp,n,c[55000];int jud(int x,int y,int xx,int yy){ return ((x-xx)*(x-xx)+(y-yy)*(y-yy))<=temp?1:0;}que原创 2017-04-07 17:16:06 · 259 阅读 · 0 评论 -
stl优化-3
#includeusing namespace std;const int N=200000;int color[N+100];int f[N+100];int knum[N+100],book[N+100];void init(int n){ for(int i=1;i<=n;i++) f[i]=i;}int found(int x){ if(x==f[x])原创 2017-03-13 23:18:00 · 602 阅读 · 0 评论 -
hdu 1043
#include //char打表,测试没问题,,但会超内存,测试中至少有30步的。#include#include#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int N=1e6;int _a[5][5];int a[15]={原创 2017-07-06 17:00:11 · 357 阅读 · 0 评论