编程题
能量项链 ### 题目描述 在 Mars 星球上,每个 Mars 人都随身佩带着一串能量项链。在项链上有 $N$ 颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记。因为只有这样,通过吸盘 (吸盘是 Mars 人吸收能量的一种器官 )的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗能量珠的头标记为 $m$,尾标记为 $r$,后一颗能量珠的头标记为 $r$,尾标记为 $n$,则聚合后释放的能量为 (Mars 单位 ),新产生的珠子的头标记为 $m$,尾标记为 $n$。 需要时,Mars 人就用吸盘夹住相邻的两颗珠子,通过聚合得到能量,直到项链上只剩下一颗珠子为止。显然,不同的聚合顺序得到的总能量是不同的,请你设计一个聚合顺序,使一串项链释放出的总能量最大。 例如:设 $N=4$,$4$ 颗珠子的头标记与尾标记依次为 $(2,3)\ (3,5)\ (5,10)\ (10,2)$。我们用记号 $⊕$ 表示两颗珠子的聚合操作,$(j⊕k)$ 表示第 $j,k$ 两颗珠子聚合后所释放的能量。则第 $4、1$ 两颗珠子聚合后释放的能量为: $(4⊕1)=10 \times 2 \times 3=60$。 这一串项链可以得到最优值的一个聚合顺序所释放的总能量为 $((4⊕1)⊕2)⊕3 )=10 \times 2 \times 3+10 \times 3 \times 5+10 \times 5 \times 10=710$。 ### 输入描述 第一行是一个正整数 $N\ (4 \leq N \leq 100 )$,表示项链上珠子的个数。 第二行是 $N$ 个用空格隔开的正整数,所有的数均不超过 $1000$。第 $i$ 个数为第 $i$ 颗珠子的头标记 $(1 \leq i \leq N )$,当 $i输入 ```txt 4 2 3 5 10 ``` >输出 ```txt 710 ```
查看答案
赣ICP备20007335号-2