题目:
有n颗珠子排成一排,每一颗珠子有一个价值wi,游戏是这样,相邻的珠子可以选择消去,每一对珠子的消失,都会给总分增加两颗珠子相乘的分数,每颗珠子只能消一次,并且消完会占位 。
代码如下:
package Texun_12;
import java.util.Scanner;
public class L11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] w=new int[n+5];
for(int i=1;i<=n;i++)
w[i]=sc.nextInt();
int[][] dp=new int[n+5][2];//一维表示第几个珠子,第二维表示是否消失
dp[1][0]=0;
for(int i=2;i<=n;i++) {
dp[i][0]=Math.max(dp[i-1][0], dp[i-1][1]);
dp[i][1]=dp[i-1][0]+w[i]*w[i-1];
}
System.out.println(Math.max(dp[n][0], dp[n][1]));
}
}