- 博客(185)
- 收藏
- 关注
原创 用BFS方法求解平分汽油问题
一只大桶里盛着16升汽油,要求把它们分成两份,每份9升,可是旁边没有量器, 只有一只能装9升和一只能装5升的空桶,请你利用这3只桶倒来倒去,把汽油平分开来。[16升=12, 9升=4, 5升=0][16升=12, 9升=0, 5升=4][16升=7, 9升=9, 5升=0][16升=7, 9升=4, 5升=5][16升=3, 9升=9, 5升=4][16升=3, 9升=8, 5升=5][16升=8, 9升=8, 5升=0]初始状态: [16升=16, 9升=0, 5升=0]
2026-05-04 17:28:22
79
原创 皇后摆放问题优化求解法
先摆放i=0行,在第0列摆放皇后,把d[0][0]标记为1,然后把皇后所占用的列、主对角线和副对角线标记为1。递归摆放i=1行,判断条件a[j]、b[i-j+N-1]和c[i+j]均为0是否成立,若成立,在该位置摆放皇后,把该位置、皇后所占用的列、主对角线和副对角线标记为1。继续在下一行用同样的方法寻找合适的位置摆放皇后,当i=N时,得到一种摆放方法,递归返回,回到上一行,把第i-1行摆放的皇后撤掉,把相应的标记请0,在该行的其它列寻找合适的摆放位置,然后把相应的标记置1,继续在下一行寻找合适的位置;
2026-04-25 10:03:44
384
原创 采用BFS方法设计程序走出迷宫
找到最短路径后,从当前位置(终点)依次回溯到起点:从终点开始,以及二维数组B和C中记录的路径位置做索引,把路径步数记录到二维数组D中。(7, 7)、(6, 6) 和(3, 5) 步数都是15,因为(7, 7)的信息先于(6, 6) 和(3, 5) 的信息进入队列,所以(7, 7)的信息先从队列取出,经程序判断是终点,停止从队列中取信息,(6, 6) 和(3, 5)就保留在队列中。从队首取出位置结构体时,以位置信息索引,把步数保存到二维数组A,表示到达该位置的步数,它可能是最短路径上的一个位置。
2026-04-23 11:02:47
361
原创 寻找最优赛程3
有六只球队,两两之间采用主客场形式比赛,寻找最佳赛程,使得所有球队出现连续的主场或连续的客场次数总和要最小。初始生成一种赛程,然后通过交换任意两轮的顺序及交换任意一轮某场次对阵双方的主客场,来寻找最优赛程。初始赛程:第1轮: A队——F队 B队——E队 C队——D队 第2轮: A队——E队 F队——D队 B队——C队 第3轮: A队——D队 E队——C队 F队——B队 第4轮: A队——C队 D队——B队 E队——F队 第5轮: A队——B队 C队——F队 D队——E队 第6轮: F队——
2026-04-10 16:54:36
51
原创 寻找最优赛程2
有六只球队,两两之间采用主客场形式比赛,寻找最佳赛程,使得所有球队出现连续的主场或连续的客场次数总和要最小。通过交换任意两轮的顺序及交换任意一轮某场次对阵双方的主客场,来寻找最优赛程。
2026-04-10 11:33:19
36
原创 寻找最优赛程1
有六只球队,两两之间采用主客场方式比赛,寻找最优赛程,使得所有球队出现连续的主场或连续的客场次数总和要最小。A队——C队 D队——B队 E队——F队。C队——A队 B队——D队 F队——E队。A队——D队 E队——C队 F队——B队。D队——A队 C队——E队 B队——F队。F队——A队 E队——B队 D队——C队。A队——F队 B队——E队 C队——D队。B队——A队 F队——C队 E队——D队。A队——B队 C队——F队 D队——E队。初始惩罚分: 898, 最佳惩罚分: 8。
2026-04-08 11:03:11
42
原创 用递归法求解汉诺塔问题
开始,所有的圆盘依由大到小的顺序插放在第1根柱子上。游戏者必须依照下面两条规则把所有的圆盘移动到第3根柱子上。从上面的代码可以看出,递归的代码简洁,且把解决问题的思想表达得恰倒好处,这就是递归的魅力之所在。(2)取出的圆盘必须马上插放到另一根柱子上,且必须保证较大的圆盘不被放在较的小圆盘上面。用移动n-1个圆盘来描述移动n个圆盘的解决方案,且1个圆盘的移动方法已知,这个。1. 把n-1个圆盘从柱子1移到柱子2上;2. 把柱子1上剩下的1个圆盘移到柱子3上;3. 把柱子2上的n-1个圆盘移到柱子3上。
2026-03-20 14:42:15
47
原创 幸运旅客的编号
安排这些旅客围成一个圆圈,从帽子中取出一张纸条,用上面写的正整数m(<n)作为报数。报m的人被淘汰出列,然后从他顺时针方向上的下一个人开始重新报数,如此下去,直到圆。游戏进行时,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,编程对某个给定的n=8与m=3,给出被淘汰出列的旅客编号,以及最终的幸存者。圈中只剩下一个人,这个最后的幸存者就是游戏的胜利者,将得到免费旅行的奖励。一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务。淘汰的旅客编号是:3 6 1 5 2 8 4。
2026-03-14 18:46:43
54
原创 用DFS方法和迭代加深求解平分汽油问题
初始状态: 12升桶装12升, 9升桶装0升, 5升桶装0升。12升=11, 9升=0, 5升=1。12升=11, 9升=1, 5升=0。目标状态: 12升桶装6升, 9升桶装6升,5升桶装0升。12升=7, 9升=0, 5升=5。12升=7, 9升=5, 5升=0。12升=2, 9升=5, 5升=5。12升=2, 9升=9, 5升=1。12升=6, 9升=1, 5升=5。12升=6, 9升=6, 5升=0。步骤 5: 从9升桶倒9升到12升桶。步骤 8: 从5升桶倒5升到9升桶。
2026-02-13 16:07:16
66
原创 位运算应用
54张卡片,依次排成一列,初始状态皆为正面向上。第1遍,把各张卡片各翻一 次使之反面朝上,第2遍把第2、4……54张卡片各翻一次,第3遍把第3、6……54张卡片各 翻一次?最后一遍把第54张卡片翻一次。问最后哪些卡片正面向上,哪些反面向上。
2026-02-07 16:33:25
321
原创 排列问题求解
将1~9填在图中的a0~a8的位置,要求三边4个数相加的和相等,并且分别实现(1)三。边4个数相加的和要最小;(2)三边4个数相加的和要最大。
2026-02-04 15:17:01
63
原创 删除循环链表节点
设一单向链表的头指针为head,从头结点开始,各结点序号分别为1,2,…n,试将该链表变成一个循环链表(即最后一个结点又指向链表的头结点),然后从头结点开始计数,每数到5或5的整数倍数,就将该结点删除,直到剩下最后一个结点为止。试求出最后一个结点原来的序号值。
2026-01-22 16:58:48
194
原创 模拟内存分配器2
建立空闲块构成的链表,每个块包含该块的字节数和指向链表中下个块的指针。从每个块起始处存放它们。要分配指定大小的块时,采用最先适应算法,取出所需要的块,接着更新链表。该块被释放时,把该块添加到链表的尾部。
2026-01-21 18:25:37
155
原创 malloc函数
确定下面malloc函数请求序列产生的块大小和头部值。假设:1)分配器保持双字对齐,并且使用隐式空闲链表。2)块大小向上舍入为最接近的8字节的倍数。
2026-01-12 11:46:59
198
原创 求两组数的平均值
有2组数据,每组有30个数据,这两组数据的最大值都是17。两组数据中编号相同的数据之和,以及两组数据中编号相同的数据与17的差值已知。确定这两组数据有无差错。若无差错,求出它们的平均值。
2026-01-07 22:11:36
287
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2