摘要: 经典的八皇后问题, queen 可以攻击的范围: 水平,垂直,斜向, 放置 queen 让所有的queens 不在对方的攻击范围内,问有多少种方法或者产生相应的棋盘。 分析: 依次产生每一行的结果, 先在某行某个位置放一个结果,如果不能产生解 则back tracking 到上一行,重新放置。 以 阅读全文
posted @ 2018-11-17 14:18 KeepAC 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题意: 设计个字典查询系统, 有 add 和search 两种操作, add 是加入单词到字典里, search 时 可以用 点号通配符 ".", 点号可以匹配一个字母。 分析: 当search 时为 通配符时, 如果直接用back tracking产生 a-z, 比如 有7个点号, 就得生成 26 阅读全文
posted @ 2018-11-17 06:57 KeepAC 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 79题, 给你一个二维的board, 只能往上下左右四个方向走,为你是否能找到单词。 又改成了: 之所以写的不好,主要因为,应该把 边界条件和是否已经被访问 判断放在 下一次函数调用里,而不是本次里, 修改后的程序简单很多。 back traking 体现在 visted[i][j] = true 阅读全文
posted @ 2018-11-17 04:30 KeepAC 阅读(151) 评论(0) 推荐(0) 编辑