#551. 骰子

骰子

题目描述

对于一个六面骰子来讲,其上的数字 xx7x7-x 位于相对的边上。:

  • 11 的对立面为 66
  • 22 的对立面为 55
  • 33 的对立面为 44

给你一个长度为 nn 的序列 aa,其中 1ai61\leq a_i\leq 6。定义一个序列为骰子序列,当且仅当:

  • 所有相邻元素对都位于立方体的相邻 ^{\text{∗}} 面上。
    • 即对于所有的 ii1in11\leq i\leq n-1aia_iai+1a_{i+1} 不是骰子里的对立面的两个数字。且 aiai+1a_i\neq a_{i+1}

例如, [1,4,2][1,4,2] 是一个掷骰子序列,而 [3,4,6,3][3,4,6,3] 不是,因为 3344 不在骰子的相邻面上。此外, [2,2,4][2,2,4] 也不是掷骰子序列,因为 2222 位于骰子的同一面(不相邻)。

给定一个从 1166 的由 nn 个整数组成的序列 aa ,可以执行以下任意次数(可能为零)的运算。

  • 选择索引 1in1 \le i \le n 和整数 1x61 \le x \le 6 。然后,将 aia_i 的值更改为 xx

请计算使 aa 成为骰子序列所需的最少操作次数。

输入格式

本题有多组数据

第一行输入一个整数 tt 表示测试数据组数,对于每一组数据:

  • 第一行输入一个整数 nn 表示序列的长度。
  • 第二行输入一个长度为 nn 的序列 aa

输出格式

对于每一组数据,输出一个整数表示答案。

4
3
1 4 2
4
3 4 6 3
10
6 1 4 3 1 3 2 5 4 4
3
1 1 1
0
1
4
1

提示

样例解释

对于第一个测试案例,序列 aa[1,4,2][1,4,2] 。由于这已经是一个骰子序列,因此答案为 00

对于第二个测试案例,序列 aa[3,4,6,3][3,4,6,3]

恰好改变一个元素,就可以得到 [3,5,6,3][3,\textcolor{red}{5},6,3] ,这是一个骰子序列。

对于第三个测试用例,序列 aa[6,1,4,3,1,3,2,5,4,4][6,1,4,3,1,3,2,5,4,4]

恰好改变 44 个元素,可以得到 $[\textcolor{red}{5},1,4,\textcolor{red}{2},1,3,2,\textcolor{red}{1},\textcolor{red}{5},4]$ ,这是一个骰子序列。

数据范围

对于 100%100\% 的数据满足:1t1041\leq t\leq 10^41n3×1051\leq n\leq 3\times 10^51ai61\leq a_i\leq 6。保证 n3×105\sum n\leq 3\times 10^5

  • 子任务 1 (20分):n10n \le 10
  • 子任务 2 (30分):n1000n \le 1000
  • 子任务 3 (50分):无特殊限制。