摘要: n个对象的一个排列,就是把这 n 个不同的对象放在同一行上的一种安排。例如,对于三个对象 a,b,c,总共有6个排列: a b c a c b b a c b c a c a b c b an 个对象的排列个数就是 n!。 基于回溯的全排列 阅读全文
posted @ 2017-03-22 16:48 来一点音乐 阅读(200) 评论(0) 推荐(0)
摘要: 在8×8的棋盘上,放置8个皇后(棋子),使两两之 间互不攻击。所谓互不攻击是说任何两个皇后都要 满足:(1)不在棋盘的同一行; (2)不在棋盘的同一列; (3)不在棋盘的同一对角线上。因此可以推论出,棋盘共有8行,故至多有8个皇后, 即每一行有且仅有一个皇后。这8个皇后中的每一个 应该摆放在哪一列上 阅读全文
posted @ 2017-03-22 16:06 来一点音乐 阅读(346) 评论(1) 推荐(1)
摘要: 从楼上走到楼下共有h个台阶,每一步有三种走法: 走一个台阶; 走二个台阶; 走三个台阶。问可以走出多少种方案,希望用递归思想来编程。 阅读全文
posted @ 2017-03-22 15:41 来一点音乐 阅读(403) 评论(0) 推荐(0)
摘要: 有五本书,它们的编号分别为1,2,3,4, 5,现准备分给 A, B, C, D, E五个人,每个 人的阅读兴趣用一个二维数组来加以描述: 希望编写一个程序,输出所有的分书方案, 让人人皆大欢喜。 阅读全文
posted @ 2017-03-22 15:17 来一点音乐 阅读(468) 评论(0) 推荐(0)
摘要: 快速排序的基本思路:1、在数组a中,有一段待排序的数据,下标从l到r。2、取a[l]放在变量value中,通过由右、左两边对value的取值的比较,为value选择应该排定的位置。这时要将比value大的数放右边,比它小的数放左边。当value到达最终位置后(如下标m),由它划分了左右两个集合[l. 阅读全文
posted @ 2017-03-22 11:44 来一点音乐 阅读(278) 评论(0) 推荐(0)
摘要: 一条小溪尺寸不大,青蛙可以从左岸跳到右岸,在左岸有一石柱L,面积只容得下一只青蛙落脚,同样右岸也有一石柱R,面积也只容得下一只青蛙落脚。有一队青蛙从尺寸上一个比一个小。我们将青蛙从小到大,用1,2,…,n编号。规定初始时这队青蛙只能趴在左岸的石头L上,按编号一个落一个,小的落在大的上面。不允许大的在 阅读全文
posted @ 2017-03-22 10:45 来一点音乐 阅读(598) 评论(0) 推荐(0)
摘要: 相传在古印度Bramah庙中,有位僧人整天把三根柱子上的金盘倒来倒去,原来他是想把64个一个比一个小的金盘从一根柱子上移到另一根柱子上去。 移动过程中遵守以下规则:每次只允许移动一只盘,且大盘不得落在小盘上 (简单吗?若每秒移动一只盘子,需5800亿年) 阅读全文
posted @ 2017-03-22 00:30 来一点音乐 阅读(266) 评论(0) 推荐(0)