摘要: 深度优先搜索(dfs)简称深搜,其状态“退回一步”的顺序符合“后进先出”的特点,所以采用栈贮存状态。 深搜的时间复杂度较小,因为他只储存了从初始状态到当前状态的一条搜索路径。但是,深搜找到的第一个解不一定是最优解,要找到最优解必须搜索整棵“搜索树”。 所以,深搜适用于要求所有解方案的题目。 深搜可以 阅读全文
posted @ 2018-07-26 14:24 FXY_ssf 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 搜索时计算机程序设计中的一种基本算法、最常用的算法; 宽度优先所搜: 又称为广度优先搜索。 它是从初始结点开始,应用产生式规则和控制策略生成第一层结点,同时检查目标结点是否在这些生成的节点中。若没有,再用产生式规则将所有第一层结点进一步扩展,得到第二层结点,并逐一检查第二层结点是否包含目标结点。若没 阅读全文
posted @ 2018-07-26 14:04 FXY_ssf 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 又是一道递推 代码如上; 试题描述: 你一定听说过经典“约瑟夫”问题吧?现在来组织一个皆大欢喜的新游戏:假设 n 个人站成一圈,从第 1 人开始交替的去掉游戏者,但只是暂时去掉(例如,首先去掉 2),直到最后剩下唯一的幸存者为止。幸存者选出后,所有比幸存者号码高的人每人将得到 1 块钱,并且永久性地 阅读全文
posted @ 2018-07-26 13:29 FXY_ssf 阅读(2163) 评论(0) 推荐(0) 编辑
摘要: 代码先放上! 试题描述: 地图上有 n 个城市,一只奶牛要从 1 号城市开始依次经过这些城市,最终到达 n 号城市。但是这只奶牛觉得这样太无聊了,所以它决定跳过其中的一个城市(但是不能跳过 1 号和 n 号城市),使得它从1号城市开始,到达 n 号城市所经过的总距离最小。假设每一个城市 i 都有一个 阅读全文
posted @ 2018-07-26 10:45 FXY_ssf 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include using namespace std; int n,m,dx[100],dy[100],q[400][2501]; int front =1,rear=1; bool a[10000][1000]; char c; int j,i,sum=0,ans=0,s,x,y,k; int main() { cin>>n>>... 阅读全文
posted @ 2018-07-26 09:45 FXY_ssf 阅读(2442) 评论(0) 推荐(0) 编辑