BFS
WilliamSun0122
这个作者很懒,什么都没留下…
展开
-
蓝桥杯-历届试题-九宫重排-BFS+剪枝
题解:直接BFS,判重剪枝优化一下就行。我看了网上一些题解,一些都是用字符串储存然后转化为整数判重。然后我觉得还是直接用字符串判重简单些,每想到还真过了。就是数据很极限,都900多ms,差点就超时了。基本没什么说的,就BFS,然后map判重剪一下枝就过了。#include <cstdio>#include <cstdlib>#include <cstring>#include <iostrea原创 2017-03-25 10:57:20 · 701 阅读 · 0 评论 -
hdu1429-BFS+状态压缩
所谓状态压缩是指状态用一种压缩的形式存储。一般采用一个二进制数表示状态,有时也用三进制或四进制数等。用二进制数表示状态最大的好处就是在判断状态时可以采用位运算,这样能极大提高算法效率。题解:这题的关键就是状态压缩。因为有最多有10把钥匙,所以我们可以用10个二进制位来保存当前位置各个钥匙的状态。把10把钥匙的状态压缩成一个2进制数。接下来BFS即可。#include <bits/stdc++.h>原创 2017-05-15 13:42:56 · 511 阅读 · 0 评论 -
HUST1579-Portal BFS+状态压缩 2017华科现场赛-C
题意:给你T组输入,每组输入第一行是n,m,k。(1 <= n, m <= 30,0<=k<=10)代表n行m列的地图和k个隧道。(每个隧道有个对应的钥匙)接下来是地图,之后一行代表初始的钥匙个数及其钥匙的种类。接下来k行代表从A开始的每个隧道中钥匙的个数及其种类。地图从X出发,求到达Y的最少步数,不能到达就输出Unreachable。比赛的时候知道要BFS,但是之前没写过状压的题,不知道怎么表示v原创 2017-05-15 21:16:30 · 384 阅读 · 0 评论 -
hdu5094 BFS+状态压缩
写了模板题hdu1429 http://blog.csdn.net/williamsun0122/article/details/72137116和2017华科现场赛hust1579 http://blog.csdn.net/williamsun0122/article/details/72229003之后,这题虽然又有点不同,但本质一样。应该是可以直接AC的。题意:50x50的地图,最多10个原创 2017-05-16 14:35:33 · 442 阅读 · 1 评论