摘要:
有一种游戏,是用滚球击十个柱-比赛分为十局,每局可滚球一次或多次,其规则和记分方法如下;
(1)若一局的第一个球击倒全部十个柱( 称为 strike ),则这局不再滚球( 例外,对第十局来说,还可补滚两次球 ),其得分为 10 加下两次滚球所击倒的柱数。
(2)若一局的第一个球未击倒十个柱,则可对剩下的柱再滚一次球。如果这局的两次滚球击倒全部十个柱( 称为 spare ),则这局不再滚球( 例外,对第十局来说,还可补滚一次球 ),其得分为 10 加上下一次滚球所击倒的柱数,否则,这局也不再滚球,其得分为本局两次滚球所击倒的柱数之和。 阅读全文
摘要:
有一个集合,集合中有 n 个元素,每个集合元素都是正整数,它们存放在一维数组A中,每个数组元素存放一个集合元素。对给定的整数 total(假定集合中每个元素的值均小于 total),流程图求出所有满足下列条件的子集:子集中各元素之和等于 total。
本题在使用试探法找出全部解答的过程中,依次选取当前的候选元素,尝试组成一个小于 total 的部分和,如果合适,则选取下一元素试探;若不合适,则回溯取另一个候选元素尝试,题中利用 s 栈存放候单元素的下标,用它实现回溯。如果候选元素加上部分和等于 total ,则表示找到一个解答,然后通过回溯,再试探寻找其它的解答。 阅读全文
摘要:
设对于一个 n×n 的上三角矩阵 a,为节约存贮,只将它的上三角元素按行主序连续存放在数组 b 中。下面的函数 trans 在不引入工作数组的情况下,实现将 a 改为按列主序连续存放在数组 b 中。 阅读全文