搜索
文章平均质量分 79
MistKafka
这个作者很懒,什么都没留下…
展开
-
uva572 Oil Deposits(启发DFS)
#include #include #define MAX_N 100 #define DIRECTION_N 8 const int direction[DIRECTION_N][2] = {{1,0}, {-1,0}, {0,1}, {0,-1}, {1,1}, {-1,-1}, {1,-1}, {-1,1}}; //油田可以八个方向相邻 char map[MAX_N][MAX_N];原创 2013-04-18 19:06:23 · 672 阅读 · 0 评论 -
POJ1915 Knight Moves BFS (UVA439 与之相似)
1.常数组记录骑士的8个方向走法 2.用网记录骑士走过的点,防止重复 reached[MAX_SIZIE][MAX_SIEZE]; 3.运用队列queue。(自己写的第一个版本是用递归, 各种错误。 AC版本是看了:(原连接找不到了) 理解之后 自己重写的) 先上AC代码: #include #include #include using namespace std;原创 2013-04-06 08:54:17 · 756 阅读 · 0 评论 -
素数环 DFS 回溯
之前全排列都是用next_permutation(), 没自己写过。 看到全排列就想逃避。 急着去看解题报告, 没完全看完就想自己写, 结果写的过程中报告的思路跟自己的思路乱成一团。。 所以: 1. 依赖库函数的前提是, 自己能写出来这样的函数 2.要嘛不看解题报告, 要嘛就完全看完、看懂了再自己写。 素数环:相邻两个数的和为素数 用DFS + 回溯 #inc原创 2013-04-18 19:32:11 · 662 阅读 · 0 评论 -
Knight Moves BFS
又一次做到这一题了, 记得第一次做的时候, 理解成DFS。(其实当时没有DFS || BFS的概念), 这一次做这题信手捏来。 #include #include #include using namespace std; #define DIRECTION_N 8 #define MAP_SIZE 8 #define REACHED 1 #define UNREACHED 0 str原创 2013-04-18 19:11:25 · 672 阅读 · 0 评论 -
HDU1010_半成品
http://acm.hdu.edu.cn/showproblem.php?pid=1010 题意: n*m迷宫中 S为起点 D为终点 X为墙 , t为时间。 要求: 每一步只能走一次, 走一步消耗一秒, 在消耗的时间刚好为t的时候到达D则小狗生还否则,死亡。(有刚好本题就为DFS题目了, 一开始没注意 做成BFS了)。 注: 用DFS超时了, 需要做剪枝。(下面的代码超时了) http:/原创 2013-04-14 21:00:36 · 706 阅读 · 0 评论 -
Holedox Moving 贪吃蛇 BFS 状态压缩
感谢原作者:http://wenku.baidu.com/view/273075d733d4b14e852468bb.html 从这里学会的状态压缩 自己写了一遍 用queue记录蛇身, 结果超内存了, 时间就更别说了。而且一开始写的没有考虑到蛇头可以在同一个位置, 身体的状态是可以不同的因素。 关键:1. 蛇只能走4个方向(其实已知是3个), 0, 1, 2, 3表示方向, 只需要2原创 2013-04-18 19:47:18 · 1032 阅读 · 0 评论 -
uva439 Knight Moves (搜索 BFS, BFS启蒙题)
题意:HDU1372 思路:HDU1372 算法复杂度: 棋盘是固定的8*8 所有复杂度是常复杂度o(1)。 (不知道这样算对不对, 刚学。 还望大牛指点) 代码:(比赛的时候的代码, 说真的 很挫, 不过现在太累。先mark再重写) #include #include #include using namespace std; #define MAX_ROW 8 #define原创 2013-07-17 21:43:37 · 1153 阅读 · 0 评论