|| 返回 || 本站首页 ||奥赛信息||计算机基础||pascal基础||数据结构||经典算法||试题汇编||校本教程||自主练习||

|| 自主练习>> 动态规划练习一

双击自动滚屏 

   

   

石子合并

在一个圆形操场的四周摆放着N堆石子(N<=      100),现要将石子有次序地合并成一堆.规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.编一程序,由文件读入堆栈数N及每堆栈的石子数(<=20).

(!)选择一种合并石子的方案,使用权得做N1次合并,得分的总和最小;

(2)选择一种合并石子的方案,使用权得做N1次合并,得分的总和最小;

输入数据:

第一行为石子堆数N;

第二行为每堆的石子数,每两个数之间用一个空格分隔.

输出数据:

从第一至第N行为得分最小的合并方案.N+1行是空行.从第N+2行到第2N+1行是得分最大合并方案.每种合并方案用N行表示,其中第i(1<=i<=N)表示第i次合并前各堆的石子数(依顺时针次序输出,哪一堆先输出均可).要求将待合并的两堆石子数以相应的负数表示.

输入输出范例:

输入:

4

4         5  9  4

 

输出:

-4    -4

-8 -5

-13  -9

22

 

  -5  -9 

  -14  -4

-4  -18

22

 

最小代价子母树

 

设有一排数,共n个,例如:22  14  7  13  26  15  11.任意2个相邻的数可以进行归并,归并的代价为该两个数的和,经过不断的归并,最后归为一堆,而全部归并代价的和称为总代价,给出一种归并算法,使总代价为最小.

输入、输出数据格式与“石子合并”相同。

输入样例:

4

12       5  16  4

输出样例:

-12  -5  16 

17  -16  -4

-17  -20

37

 

背包问题

 

设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为X,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于X,而价值的和为最大。

输入数据:

第一行两个数:物品总数N,背包载重量X;两个数用空格分隔;

第二行N个数,为N种物品重量;两个数用空格分隔;

第三行N个数,N种物品价值; 两个数用空格分隔;

输出数据:

第一行总价值;

以下N行,每行两个数,分别为选取物品的编号及数量;

输入样例:

4  10

2  3  4  7

1  3  5  9

输出样例:

12

2  1

4  1

 

商店购物

某商店中每种商品都有一个价格。例如,一朵花的价格是2 ICU(ICU 是信息学竞赛的货币的单位);一个花瓶的价格是5 ICU。为了吸引更多的顾客,商店提供了特殊优惠价。特殊优惠商品是把一种或几种商品分成一组。并降价销售。例如:3朵花的价格不是6而是5 ICU ;2个花瓶加1朵花是10 ICU不是12 ICU

编一个程序,计算某个顾客所购商品应付的费用。 要充分利用优惠价以使顾客付款最小。请注意,你不能变更顾客所购商品的种类及数量, 即使增加某些商品会使付款总数减小也不允许你作出任何变更。假定各种商品价格用优惠价如上所述, 并且某顾客购买物品为:3朵花和2个花瓶。那么顾客应付款为14 ICU因为:

1朵花加2个花瓶: 优惠价:10 ICU

2朵花 正常价: 4 ICU

输入数据

用两个文件表示输入数据。第一个文件INPUTTXT描述顾客所购物品(放在购物筐中);第二个文件描述商店提供的优惠商品及价格(文件名为OFF ERTXT)。 两个文件中都只用整数。

第一个文件INPUTTXT的格式为:第一行是一个数字B0B5),表示所购商品种类数。下面共B行,每行中含3个数CKP C 代表商品的编码(每种商品有一个唯一的编码),1C999K代表该种商品购买总数,1K5P 是该种商品的正常单价(每件商品的价格),1P999。请注意,购物筐中最多可放5*525件商品。

第二个文件OFFERTXT的格式为:第一行是一个数字S0S9 9),表示共有S 种优惠。下面共S行,每一行描述一种优惠商品的组合中商品的种类。下面接着是几个数字对(CK),其中C代表商品编码,1C9 99K代表该种商品在此组合中的数量,1K5。本行最后一个数字P1 P9999)代表此商品组合的优惠价。当然, 优惠价要低于该组合中商品正常价之总和。

输出数据

在输出文件OUTPUTTXT中写 一个数字(占一行), 该数字表示顾客所购商品(输入文件指明所购商品)应付的最低货款。

输入/输出数据举例

┌────────┐ ┌────────────┐┌────────┐

INPUT          OFFERTXT           ││ OUTPUT.TXT

├────────┤ ├────────────┤├────────┤

2               2                      ││ 14             

       1 7 3 5                 ││                

       2 7 1 8 2 10             ││                

└────────┘ └────────────┘└────────┘

 
 

 

 
 
 

制作与维护:重庆市忠县中学 谭海