
搜索
文章平均质量分 78
远古小山
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[kuangbin带你飞]专题一 简单搜索 Dungeon Master : BFS
题意: 在一个三维有障碍物的迷宫中,求从起点S到终点E是否有 路径,如果有,求出最短的路径,否则输出“Tranpped!” 题解: 求迷宫的最短路径,经典的BFS题目,使用队列Queue来维护,没什么特别的地方,注意好 Q.push()和Q.pop()的时机就好。 代码:1次AC #include #include #include #include using na原创 2016-10-09 10:57:49 · 436 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Catch That Cow : bfs
题意: 有两个数n和k,有三种操作:+1 、-1、*2,问从数字n到k 最少需要多少步! 由于是求最少步,所有用bfs来搜索。 题解: 这是道简单题,但是容易出现小问题,导致不容易AC。 首先,通过标记数组vis[i ],可以确保每个数只访问一次,同时vis[i]可以用来记录步数。 经过一次变换后的数字 nxt,范围是[0 , MaxN]; 这里的数据范围是0-100000;原创 2016-10-10 22:18:35 · 392 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Fliptile :dfs
#include #include #include using namespace std; int g[20][20],f[20][20]; //int tmp[3][20]; int ans[20],mmin[20]; int ok; int n,m; int judge(int row){ if(row==0) return 1; int ret=1;原创 2016-10-12 13:53:27 · 350 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Find The Multiple :dfs
题意 给一个正整数n,找出m,使得m是n的倍数,且m的十进制表示只包含“0”和“1”。 其中 1 如果有多个解,输出任意一种解。 分析: 由于m的位数是 那么,真的枚举100位的十进制数m,怎么判定m是不是n的倍数呢? m没办法存储。 又注意到 n=6的时候,样例给的结果是 m=100100100100100100,很明显m还可以是 1110. 所以猜想: 不需要搜索100原创 2016-10-13 19:15:39 · 349 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Prime Path :BFS
题意: 在素数间的bfs 题解: 真的就是简单的bfs,不多说,看代码。 代码: AC,0ms #include #include #include #include #define Maxn 100005 using namespace std; int p[Maxn]; //0是prime int f[Maxn];//标记是否已经出现 typedef s原创 2016-10-13 22:52:17 · 387 阅读 · 0 评论 -
[kuangbin带你飞] 专题一 简单搜索 棋盘问题 :DFS
今天开始做kuangbin大神的acm系列题,在VJ上。 题目: 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。 输入: 输入含有多组测试数据。 每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*原创 2016-10-08 22:36:48 · 527 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Shuffle'm Up : 水题
这题不是搜索题,就是按照题意遍历下去,其实也就是搜索的思想。。 题意: 有两堆数量都为c的木柴,现在要把两个堆s1和s2合并(shuffle),合并成高度为2*c的大木堆叫s12,合并策略是: 先放s2的最下面木柴,再放s1的最下面木柴;放s2的倒数第二根木柴,放s1的倒数第二根木柴.......;放s2的最上面一根木柴,放s1的最上面一根木柴。 s12的最上面c个木柴又作为s2,原创 2016-10-14 22:56:28 · 753 阅读 · 0 评论 -
[kuangbin带你飞]专题一 简单搜索 Pots : BFS
题意: 有两个被子,容量分别是A和B,想得到目标容量C(A、B中任意一个容量是C就行)。 有3个操作: 1. FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap; 2. DROP(i) empty the pot i to the drain; 3. POUR(i,j) pour from pot i to pot j; after th原创 2016-10-15 13:28:25 · 437 阅读 · 0 评论