P1880合并石子

题目描述

在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。

试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.

输入输出格式

输入格式:

数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.

输出格式:

输出共2行,第1行为最小得分,第2行为最大得分.

输入输出样例

输入样例#1: 
4
4 5 9 4
输出样例#1: 
43
54




思路形成

s[i]表示前i堆石头的数量总和

f1[i][j]表示把第i堆到第j堆石头合并成一堆的最小值 输出f1[1][n]

f2[i][j]表示把第i堆到第j堆石头合并成一堆的最大值 输出f2[1][n]


猜你喜欢

转载自blog.csdn.net/sdau20171989/article/details/79327154