回溯法
Coder_Suo
这个作者很懒,什么都没留下…
展开
-
回溯法1——八皇后问题
8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。原创 2014-07-16 16:54:44 · 500 阅读 · 0 评论 -
回溯法2——和尚挑水
题目: 和尚挑水某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表:和尚1: 星期二,四;和尚2: 星期一,六;和尚3: 星期三,日;和尚4: 星期五;和尚5: 星期一,四,六;和尚6: 星期二,五;和尚7: 星期三,六,日;请将所有合理的挑水时间安排表。思路原创 2014-07-16 17:07:48 · 952 阅读 · 0 评论 -
华为编程大赛——路径查找
l 问题描述给定N*N字母矩阵,从任意点出发,上,下,左,右移动,在规定方向连续匹配给定的单词序列。即称为命中,否则不命中,字符矩阵中的字母仅能使用一次,不能在同一单元格停留两次。字符矩阵最大50*50,都为大写字母。输入1为字母矩阵,输入2为字母序列,输出是否匹配。 要求实现函数int FindStat(const char *Map, unsigned int i原创 2014-07-22 21:33:46 · 630 阅读 · 0 评论 -
华为编程大赛——公交站寻址
问题描述一个N*N二维矩阵代表城市布局,元素值只有’.’,’X’ , ‘B’ , ‘S’,X代表当前位置,B代表路障,S代表公交站,’.’代表可行的路径。现给定路径长度Y,找到能够到达的公交站的个数,路径中不能包含路障。路径长度定义:节点与其自身的距离为0节点与其上、下、左、右四个相邻节点距离都为1要求实现函数int FindStat (const char *Map,原创 2014-07-29 15:34:34 · 833 阅读 · 0 评论 -
2015-华为招聘公开测试题目-单词迷宫
思路:典型的回溯法。原创 2014-08-22 21:48:17 · 704 阅读 · 0 评论 -
1-9的九个数排列
问题:1~9的9个数字,每个数字只出现一次,要求:第一位能被1整除,前两位能被2整除,。。。前9位能被9整除。原创 2014-08-11 18:26:00 · 2618 阅读 · 0 评论 -
求一个序列的全排列
#include#includeusing namespace std;static int cnt;void SeqAllRange(int *seq, int length, int startPos){ int i; if(length==startPos){//终止条件,此时输出结果 cout<< "the "<< '\t'<< cnt++ <原创 2014-09-21 10:38:51 · 600 阅读 · 0 评论 -
分支界限法(剪枝法)学习
分支限界法与回溯法(1)求解目标:回溯法的求解目标是找出解空间树中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。 (2)搜索方式的不同:回溯法以深度优先的方式搜索解空间树,而分支限界法则以广度优先或以最小耗费优先的方式搜索解空间树。 分支限界法的基本思想 分支限界法常以广度优先或以最小耗费(最大效益)转载 2014-08-14 10:28:03 · 7354 阅读 · 0 评论