数据结构:思想与方法-翁惠玉-第十五章.pptVIP

  • 4
  • 0
  • 约 82页
  • 2017-10-16 发布于浙江
  • 举报

数据结构:思想与方法-翁惠玉-第十五章.ppt

* 存储设计 用一个二维数组like存储用户的兴趣 用一个一维的整型数组take表示某本书分给了某人。Take[j] = i表示第j本书给了第i个人。 * 解题思路 依次尝试把书j分给人i。 如果第i个人不喜欢第j本书,则尝试下一本书,如果喜欢,并且第j本书尚未分配,则把书j分配给i。 如果i是最后一个人,则方案数加1,输出该方案。否则调用try(i+1)为第i+1个人分书。 回溯。让第i个人退回书j,尝试下一个j,即寻找下一个可行的方案 由于在每次try中都要用到like,take以及目前找到的方案数n,因此可将它们作为全局变量,以免每次函数调用时都要带一大串参数。 设计一个函数try(i)给第i个人分书。 * void trynext(int i) { int j, k; for (j=0; j5; ++j) { if (like[i][j] take[j] == -1) { take[j] = i; if (i == 4) { n++; cout \n第 n 种方案: endl; cout 书\t人 endl; for (k=0; k5; k++)

文档评论(0)

1亿VIP精品文档

相关文档