100 #3894. 神奇的数列(C++四级)
神奇的数列(C++四级)
题目描述
一个正整数数列,可以将它切割成若干个数据段,每个数据段由值相同的相邻元素构成。该数列的神奇之处在于,每次切除一个数据段后, 该数据段前后的元素自动连接在一起成为邻居。例如从数列“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”
时间限制:1000
内存限制:65536
输入
第一行是一个整数,示共有多少组测试数据。每组测试数据的输入包括两行:第一行是整数N, N<=200,表示数列的长度,第二行是N个正整数。
输出
每个测试案例的输出占一行,是一个整数。格式是: Case n: x n是测试数据组编号,x是答案
Limitation
1s, 1024KiB for each test case.