早教吧作业答案频道 -->其他-->
求教一个石子合并问题描述现摆一排N堆石子(N≤100),要将石子有次序地合并成一堆.规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.编一程序,
题目详情
求教一个石子合并问题
描述
现摆一排 N 堆石子(N ≤ 100),要将石子有次序地合并成一堆.规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.编一程序,由文件读入堆数 N 及每堆的石子数( ≤ 20).选择一种合并石子的方案,使所做 N-1 次合并,得分的总和最小.
关于输入
第一行为石子堆数 N;第二行为每堆石子数,数字之间用一个空格分隔.
关于输出
最小的得分总和.
例子输入
21
17 2 9 20 9 5 2 15 14 20 19 19 1 9 8 8 9 14 9 4 8
例子输出
936
提示
求解不当,可能超时.
#include
int main()
{int i,n;
scanf("%d",&n);
int a[100];
for(i=0;i
描述
现摆一排 N 堆石子(N ≤ 100),要将石子有次序地合并成一堆.规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分.编一程序,由文件读入堆数 N 及每堆的石子数( ≤ 20).选择一种合并石子的方案,使所做 N-1 次合并,得分的总和最小.
关于输入
第一行为石子堆数 N;第二行为每堆石子数,数字之间用一个空格分隔.
关于输出
最小的得分总和.
例子输入
21
17 2 9 20 9 5 2 15 14 20 19 19 1 9 8 8 9 14 9 4 8
例子输出
936
提示
求解不当,可能超时.
#include
int main()
{int i,n;
scanf("%d",&n);
int a[100];
for(i=0;i
▼优质解答
答案和解析
#include
int main()
{
int i,n;
scanf("%d",&n);
int a[100];
for(i=0;i
int main()
{
int i,n;
scanf("%d",&n);
int a[100];
for(i=0;i
看了求教一个石子合并问题描述现摆一...的网友还看了以下:
以前小伟在储蓄罐里存有1元和5角,倒出来约100元.他分两堆,一堆钱数相等,一堆个数相等.最少存多 2020-05-13 …
DES经过()轮运算后,左右两部分合在一起经过一个末置换,输出一个64位的密文()。A.16B.8C 2020-05-26 …
甲乙两堆棋子数同样多,甲堆中的白子与黑子的比是2:1,乙堆中白子与黑子的比是3:2,如果把两堆棋子 2020-06-02 …
将甲乙两堆石子合在一起分成三堆,每堆有15粒.已知甲堆数量比乙堆的3倍少7粒,甲乙两堆各有多少? 2020-06-03 …
小猴分桃子,第一个小猴将这堆桃子分成3堆,拿走了其中的一堆,第二个小猴子将剩下的平均分3堆,又拿走 2020-06-10 …
东边有3堆草南边有7堆草北边有6堆草全部合在一起是几堆草东边有3堆草南边有7堆草北边有6堆草全部合 2020-06-18 …
苹果、梨、橘子三种水果都有许多,混在一起合成一大堆,最少要分成堆,才能保证找得到这样的两堆,把这两 2020-06-26 …
不同的钢笔12支,分3堆,一堆6支,另外两堆各3支,有多少种分法? 2020-07-08 …
有两堆煤共162吨,第一堆用去五分之三,第二堆用去三分之二,把两堆剩下的煤合在一起,比原来第二堆还 2020-07-18 …
1、从两块分别重10千克和15千克且含铜的百分比不同的合金上各切下重量相等的一块,再把切下的每一块 2020-07-22 …