文件名称:石子合并问题的 动态规划解法
文件大小:870KB
文件格式:RAR
更新时间:2013-12-25 07:36:59
石子合并 动态规划
王晓东版 //--石子合并问题 /*问题描述:在一个圆形操场的四周摆放着n堆石子,先要将石子有序的合并为一堆。规定每次只能选相邻的石子合并成一堆,并将新一堆的石子数 记录为该次合并的得分。试设计一个算法,记录n堆石子合并的最大和最小得分。 数据输入:由文件input.txt输入,第一行是正整数n,表示有n堆石子。第二行有n个正整数,分别表示每堆石子的个数, 结果输出:将计算结果输出到文件output.txt中,文件中第一行是最小得分,第二行是最大得分 解题思路:类似于矩阵连乘问题,可以用动态规划的方法来解决: (1)定义一个n*n的数组A来存储合并石子的最小合并方式,由一开始的只有两堆石子要合并慢慢向上递归得到n堆石子合并的最小得分。 (2)定义另一个于A同秩的矩阵B来存储各个合并中间的剖分 */
【文件预览】:
石子合并问题
----石子合并.plg(758B)
----input.txt(11B)
----石子合并.dsp(3KB)
----output.txt(10B)
----Debug()
--------石子合并.obj(153KB)
--------vc60.pdb(108KB)
--------vc60.idb(73KB)
--------石子合并.pch(1.91MB)
--------石子合并.ilk(773KB)
--------石子合并.pdb(1.07MB)
--------石子合并.exe(540KB)
----石子合并.opt(48KB)
----石子合并.dsw(524B)
----石子合并.cpp(4KB)
----石子合并.ncb(41KB)