zoukankan      html  css  js  c++  java
  • 软件设计师1990年下午试题5(流程图解析)

    阅读下列说明和流程图。回答问题 1 和 2,把解答填入答卷的对应栏内。 

         有一个集合,集合中有 n 个元素,每个集合元素都是正整数,它们存放在一维数组A中,每个数组元素存放一个集合元素。对给定的整数 total(假定集合中每个元素的值均小于 total),流程图求出所有满足下列条件的子集:子集中各元素之和等于 total。 

    本题在使用试探法找出全部解答的过程中,依次选取当前的候选元素,尝试组成一个小于 total 的部分和,如果合适,则选取下一元素试探;若不合适,则回溯取另一个候选元素尝试,题中利用 s 栈存放候单元素的下标,用它实现回溯。如果候选元素加上部分和等于 total ,则表示找到一个解答,然后通过回溯,再试探寻找其它的解答。
    [问题1]

    问流程图中的 ④ 应与 A~D 中的那一点相连,并填充图中的①~③,使之成为完整的流程图。
    [问题2]

    设 total=10,n=6,数组 A 中各元素的值为(8,4,1,2,5,3)。 

    若图中的(1)框改为 sp:0,则执行该流程图后输出什么结果。 

    [流程图] 

     

     

     

    答案:

    [问题1]

    ① i→s[sp] ② T+A[s[sp]]→T ③ s[sp]+1 ④ D
    [问题2]

    J=1时输出的解为:82

    4123

    415

    253

    J=2时输出的解为:4123

    415

    253

    J=3时输出的解为:253

    J=4时输出的解为:253

    J=5,6时无解

  • 相关阅读:
    旅行
    赛道修建
    逃学的小孩
    hdu4035_概率dp
    hdu4405_概率dp
    poj2096_概率dp
    poj3420_找规律+矩阵快速幂
    poj2411_状压dp
    poj3744_矩阵快速幂
    hdu5720_贪心
  • 原文地址:https://www.cnblogs.com/djcsch2001/p/2096462.html
Copyright © 2011-2022 走看看