发现最近一段时间发生了一些事情加上准备其他科的期末考试导致两个礼拜基本没有编程,算法能力直线下降……开始担心后天的考试了,大概率凉凉。
好的,正文。
描述
一个正整数数列,可以将它切割成若干个数据段,每个数据段由值相同的相邻元素构成。该数列的神奇之处在于,每次切除一个数据段后,
该数据段前后的元素自动连接在一起成为邻居。例如从数列“2 8 9 7 7 6 9 4”中切除数据段“7 7 ”后,余下的元素会构成数列“2 8 9 6 9 4”
请问若要将该数列切割成若干个数据段,则至少会切出来几个数据段?
样例: 按下列顺序切割数列“2 8 9 7 7 6 9 4”,只要切割成 6段
切割出“7 7”,余下 “2 8 9 6 9 4”
切割出 “6”,余下 “2 8 9 9 4”
切割出 “9 9”,余下 “2 8 4”
切割出 “2”,余下 “8 4”
切割出 “8”,余下 “4”
输入
第一行是一个整数,示共有多少组测试数据。每组测试数据的输入包括两行:第一行是整数N, N<=200,表示数列的长度,第二行是N个正整数。
输出
每个测试案例的输出占一行,是一个整数。格式是:
Case n: x
n是测试数据组编号,x是答案
样例输入
2
8
2 8 9 7 7 6 9 4
16
2 8 9 7 7 6 9 4 4 2 8 4 2 7 6 9
样例输出
Case 1: