![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
指关节
这个作者很懒,什么都没留下…
展开
-
马踏棋盘(从低效到高效)
题目描述 将棋子“马”随机的放在国际象棋棋盘Board[8][8]的某个方格中,“马”按走棋规则进行移动,要求每个方格只进入一次,走遍棋盘上所有的64个方格。 题目要求 编写非递归程序,求出“马”的行走路线,并按求出的行走路线将数字1-64依次填入一个8x8的方阵并输出。 分析 x 1 一看题目说是8x8棋盘,要求走遍棋盘,首先想到的便是直接深搜即可,但是后面说到要求非递归程序,这也简单,自己把递...原创 2019-10-14 21:39:15 · 1472 阅读 · 2 评论 -
约瑟夫(Josephus)问题
古代某法官要判决n个犯人死刑,他有一条荒唐的逻辑,将犯人首尾相接排成圆圈,然后从第s个人开始数起,每数到第m个犯人,就拉出来处决;然后又数m个,数到的犯人又拉出来处决,以此类推。剩下的最后一人可以赦免。 编写程序,给出处决顺序,并给出哪一个人可以活下来。 注:大体的思路以及需要注意的点都在注释中了,直接上代码了。 //定义结点 typedef struct _josephus { int ...原创 2019-07-26 22:13:42 · 459 阅读 · 0 评论 -
简单搜索(dfs/bfs)
走迷宫 学习 dfs/bfs 应该都是从走迷宫开始的吧,今天讲一下 dfs/bfs 最简单的应用——走迷宫。 dfs(深度优先搜索) dfs 一般都是通过递归来完成(非递归也可以,但是有些麻烦),由于是递归,所以理解 dfs 的关键就在于解决“当下如何做”,而“下一步如何做”则与“当下如何做”是一样的。 下面给出 dfs 的基本模型: void dfs(int step) { 判断边界条件 尝...原创 2019-08-02 11:51:50 · 273 阅读 · 0 评论