bfs
文章平均质量分 77
程序员bigsai
坚持分享学习,写了一本原创数据结构与算法pdf分享给大家。
展开
-
浅谈迷宫搜索类的双向bfs问题(例题解析)
前言在搜索问题中,以迷宫问题最具有代表性,无论是八皇后的回溯问题,还是dfs找出口,bfs找最短次数等等题目的问题。在我们刚开始ac的时候、可能有着很多满足感!感觉是个迷宫问题咱么都可以给他这么搜出来 !!然而,当数据达到一定程度,我们使用简单的方法肯定会爆炸的,****。就可能需要一些特殊的巧妙方法处理,比如各种剪枝、优先队列、A*、dfs套bfs,又或者利用一些非常厉害的数学方法比如康托...原创 2020-02-15 00:21:14 · 5799 阅读 · 1 评论 -
hdu1181变形课dfs/bfs/并查集三种解法(java)
题目链接 Problem Description 呃…变形课上Harry碰到了一点小麻烦,因为他并不像Hermione那样能够记住所有的咒语而随意的将一个棒球变成刺猬什么的,但是他发现了变形咒语的一个统一规律:如果咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. Harry已经将他所会的所有咒语都列成了一个表,他想让你帮忙计算一下他是否能完成老师的作业,将一个B...原创 2019-03-19 20:04:31 · 2893 阅读 · 0 评论 -
Dungeon Master(三维bfs)java
题意: You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move one unit north,...原创 2019-02-27 16:18:10 · 3122 阅读 · 2 评论 -
杭电1254java实现(双bfs 优先队列)
推箱子 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上(如图2)那么箱子就不能再被移动了,如果箱子被推到一面墙上,那么箱子只能沿着墙移动. 现在给定房间的结构,箱子的位置,搬运工的位置和箱子要被推去的位置,请你计算出搬运工至少要推动箱子多少格....原创 2018-04-06 22:23:09 · 2680 阅读 · 0 评论 -
杭电1044java实现dfs bfs
Collect More Jewels 问题描述 它写在“夫人的书:创世之后,残酷的神摩洛克反抗了造物主马尔杜克的权威。摩尔从马尔杜克那里偷走了众神中所有神器中最强大的一件,也就是叶多尔的护身符,并且他隐藏了它在Gehennom的阴暗洞穴,现在潜伏在他身边的Under World,并且是他的时间。你的女神女士寻求拥有护身符,并与它一起获得应得的尊荣,胜过其他诸神。你是一位新接受过训练的...原创 2018-04-22 20:44:53 · 2694 阅读 · 0 评论 -
杭电1043java实现bfs一遍
题目Eight Problem Description 这个15难题已经存在了100多年了,即使你不知道它的名字,你也看到了。它由15个滑动瓦片构成,每个滑动瓦片的数量从1到15,并且全部装入4乘4帧,缺少一个瓦片。我们称之为缺失的瓦片’x’;难题的目的是安排瓷砖,以便它们按以下顺序排列: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x 其中唯一合...原创 2018-04-22 20:08:19 · 3025 阅读 · 0 评论 -
杭电1430康托 bfs(java)
魔板: Problem Description 在魔方风靡全球之后不久,Rubik先生发明了它的简化版——魔板。魔板由8个同样大小的方块组成,每个方块颜色均不相同,可用数字1-8分别表示。任一时刻魔板的状态可用方块的颜色序列表示:从魔板的左上角开始,按顺时针方向依次写下各方块的颜色代号,所得到的数字序列即可表示此时魔板的状态。例如,序列(1,2,3,4,5,6,7,8)表示魔板状态为: 1...原创 2018-04-12 15:19:24 · 2842 阅读 · 0 评论 -
杭电oj1072java实现bfs
Nightmare 问题描述 伊格内修斯昨晚有一场噩梦。他发现自己身陷迷宫,身上有一枚定时炸弹。迷宫有一个出口,在炸弹爆炸之前,伊格内修斯应该走出迷宫。炸弹的最初爆炸时间设定为6分钟。为了防止炸弹爆炸,伊格内修斯必须缓慢移动,即从一个区域移动到最近的区域(也就是说,如果Ignatius现在站在(x,y)上,他只能在(x 1, y),(x-1,y),(x,y 1)或(x,y-1))在1分钟内。...原创 2018-03-28 21:47:35 · 3043 阅读 · 0 评论 -
杭电1180java实现(bfs)
诡异的楼梯: 多组数据输入M N,表示大小然后输入地图。*表示墙壁,’.’表示可以通过,S初始,T结尾位置,‘-’,‘|’代表初始楼梯状况,每隔一秒就会换成对方。-左右走,跳过楼梯,|上下走,跳过楼梯(相当于走两格) 分析: 1:首先要确定上下 和左右的参数设置,不能搞混,我选择a[x][y],x代表上下(行) 2:找到时间最短的点,说明是bfs,并且为了防止爆内存,还要标记走过的路,楼...原创 2018-04-02 22:19:09 · 2376 阅读 · 0 评论 -
杭电1728bfs逃离迷宫java实现
Problem Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程中...原创 2018-03-26 11:10:50 · 3360 阅读 · 0 评论