#173. 「Blocks」 消木块

「Blocks」 消木块

你们中的一些人可能玩过一个叫做消木块的游戏。

n个木块排成一列,每个木块都有一个颜色。

例如下图中木块的颜色分别为:金,银,银,银,银,铜,铜,铜,金。

1390_1.jpg

每次,你都可以点击一个木块,这样被点击的木块以及和它相邻并且同色的木块就会消除。

如果一次性消除了k个木块,那么就会得到k*k分。

例如下图所示,点击银色木块,四个木块被消去,得到16分。

1390_2.jpg

给定你一个游戏初始状态,请你求出最高得分是多少。

输入格式

第一行包含整数t,表示共有t组测试数据。

每组数据第一行包含整数n,表示共有n个木块。

第二行包含n个整数,表示n个木块的颜色。

代表木块颜色的整数范围是1~n。

输出格式

每组数据输出一个结果,每个结果占一行。

输出格式为“Case x: y”,其中x为数据组别编号,从1开始,y为结果。

数据范围

1n2001 \le n \le 200

输入样例:

2
9
1 2 2 2 2 3 3 3 1
1
1

输出样例:

Case 1: 29
Case 2: 1

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解