随笔分类 -  搜索---从初始状态到目标状态

电路维修
摘要:"洛咕" 题意:如图一个$n m(n,m include include include include include include include define ll long long using namespace std; inline int read(){ int x=0,o=1;c 阅读全文

posted @ 2019-08-25 07:22 PPXppx 阅读(132) 评论(0) 推荐(0)

魔板 Magic Squares
摘要:"洛咕" 分析:这种 "从初始状态到目标状态的搜索" 求步数和操作的题一般套路都是用BFS.这道题和 "八数码难题" 有点类似,我们把每个状态看做一个int类型的整数,用队列实现BFS,用map(数组会爆空间)标记每个状态,同时记录步数,操作,由谁转移过来等必要信息即可. BFS的性质保证了第一个搜 阅读全文

posted @ 2019-07-29 20:32 PPXppx 阅读(122) 评论(0) 推荐(0)

费解的开关
摘要:"AcWing" 题意:给出一个$5×5$矩形网格图,$a[i][j]$表示第i行第j列的数字(只能为0或者1),每次操作可以选择一个位置,对于该个位置以及其上下左右个一个位置上的数字0变成1,1变成0,询问是否能少于6次将所有数字变为1,如果能,请输出最少次数,否则输出“ 1”. 分析:思路一:倒 阅读全文

posted @ 2019-07-27 08:57 PPXppx 阅读(141) 评论(0) 推荐(0)

字串变换(字符串+搜索剪枝)
摘要:题意:将一个字符串从初始状态变换为目标状态,最多有6种变换规则,如果10步之内能完成,输出步数. 分析:又是一道有关字符串的搜索题,思路很简单,把初始状态放入队列里开始跑广搜,枚举所有变换规则,能变就变,变完就入队,队列为空和步数超过10都表示不能完成变换任务.稍微剪下枝就可以了. 阅读全文

posted @ 2019-01-29 21:44 PPXppx 阅读(113) 评论(0) 推荐(0)

搜索---从初始状态到目标状态(学习笔记)
摘要:对于这种"求从初始状态到目标状态的步数"的搜索题,BFS是较好的选择. "移动玩具" $4 4$的正方形内每个格子上是数字0或1,要由初始状态移动到目标状态,每次移动只能上下左右四个方向移动,求最少的移动次数 对比两幅图(初始状态和目标状态),对于数字一样的格子(同为0或者同为1),在两幅图上都赋值 阅读全文

posted @ 2019-01-23 18:53 PPXppx 阅读(560) 评论(0) 推荐(0)