问题链接:UVA439 POJ2243 HDU1372 ZOJ1091
Knight Moves。基础级练习题,用C++语言编写程序。
题意简述:给出国际象棋棋盘中的两个点,求马从一个点跳到另一个点的最少步数。
问题分析:典型的BFS问题。在BFS搜索过程中,马跳过的点就不必再跳了,因为这次再跳下去不可能比上次步数少。
程序中,使用了一个队列来存放中间节点,但是每次用完需要清空。
...
分类:
其他好文 时间:
2016-08-06 20:37:08
阅读次数:
193
【搜索】魔板问题 时间限制: 1 Sec 内存限制: 64 MB提交: 5 解决: 3[提交][状态][讨论版] 题目描述 据说能使持有者成为世界之主的上古神器隐藏在魔板空间,魔板由8个同样大小的方块组成,每个方块颜色均不相同,按顺时针方向依次写下各方块的颜色代号,例如序列(1,2,3,4,5,6, ...
分类:
其他好文 时间:
2016-08-06 12:47:46
阅读次数:
323
题目 给定N个点和M条边,从点1出发,寻找路径上边的个数小于等于K的路径,求出所有满足条件的路径的路径中最长边长度的最小值。 题目链接:二分 最小化最大值,考虑采用二分搜索。对所有的边长进行排序,二分,对每次选择的边长,判断是否存在一条路径满足路径上所有的边长度均小于等于该边长,且路径中的边的个数小 ...
分类:
其他好文 时间:
2016-07-20 22:41:07
阅读次数:
180
题意:i -> j 的花费为|i - j| 如果有ai=j,那么i ->j的花费为1,分别求出第一个点到所有的点的最小花费 题解:建设此时在点d,那么从d点出发花费为1可到达点d-1,d+1以及ad,用bfs搜索一遍就行。 #include <iostream> #include <cstdio> ...
分类:
其他好文 时间:
2016-07-12 10:15:34
阅读次数:
169
Bfs搜索 1.把棋盘直接作为状态: 测试点#1.in 结果:AC 内存使用量: 488kB 时间使用量: 1ms 测试点#2.in 结果:AC 内存使用量: 1128kB 时间使用量: 3ms 测试点#3.in 结果:AC 内存使用量: 1128kB 时间使用量: 6ms 测试点#4.in 结果: ...
分类:
其他好文 时间:
2016-06-21 12:46:04
阅读次数:
197
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1195
搜索就三种规则, 一个是+1 一个是-1 还有一个是交换,用bfs搜索就行了,参照大神的思路。。。
代码:
#include
#include
#include
using namespace std;
int a[5];
int b[5];
st...
分类:
其他好文 时间:
2016-05-07 10:03:19
阅读次数:
120
最近在学数据结构,学到图这一章,网上的C++版本的代码乱得不行,所以自己写了一个完整C++版本的放这里。 用邻接多重表表示一个无向图,并给出DFS和BFS搜索代码。邻接多重表好处就是贼直观,几条边就几个边表的元素。 代码如下: 边表节点定义(其实就是边的定义) 顶点表节点的定义 最后是图的模板类 大
分类:
编程语言 时间:
2016-03-15 23:38:52
阅读次数:
708
题意:懒得说了 分析:开个no[100][100][1000]的bool类型的数组就行了,没啥可说的 #include <iostream> #include <cstdio> #include <vector> #include <cstring> #include <algorithm> #in
分类:
其他好文 时间:
2016-03-08 23:13:17
阅读次数:
230
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 BFS搜索 目标地 并记录下来 之后再判断两段路程之和 代码: 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #
分类:
其他好文 时间:
2016-03-06 17:11:30
阅读次数:
162
题意:有个为三个杯子(杯子没有刻度),体积为s,n,m,s=m+n, 刚开始只有体积为s的杯子装满可乐,可以互相倒,问你最少的次数使可乐均分,如果没有结果,输出-1; 分析:直接互相倒就完了,BFS模拟 注:写的很丑 #include <iostream> #include <cstdio> #in
分类:
其他好文 时间:
2016-01-31 13:23:45
阅读次数:
200