编程题
### 问题描述 小蓝得到了一个圆环,圆环上挂着 $N$ 个数字 $A_0, A_1, A_2, \ldots, A_{N-1}$。 为了使圆环变成一个美丽的圆环,需要满足以下条件: - 对于第 $i$ 个数字 $A_i$,它的相邻数字为 $A_{(i-1+N)\bmod N}$ 和 $A_{(i+1)\bmod N}$。其中,至少有一个相邻数字大于等于 $A_i$,另一个相邻数字小于等于 $A_i$。 现在,小蓝想要让圆环变得足够美丽。他可以进行任意次以下操作: 1. 将圆环上的任意数字更改为任意整数。 2. 交换圆环上任意两个数字的位置。 请问,小蓝最少需要进行多少次操作 $1$ 才能使圆环变成一个美丽的圆环? ### 输入格式 第一行包含一个整数 $T(1 \leq T \leq1000)$,表示测试数据的组数。 对于每组测试数据: - 第一行输入一个 $N(2 \leq N \leq 100)$,表示圆环上数字的个数。 - 第二行输入 $N$ 个整数 $A_0,A_1,A_2,\cdots,A_{N-1}$,表示圆环上的数组 $A(1 \leq A_i \leq N)$。 ### 输出格式 对于每组测试用例输出一行一个整数表示答案。 ### 输入样例 ```text 2 4 3 2 1 2 3 1 2 3 ``` ### 输出样例 ```text 1 2 ``` ### 说明 对于样例 $1$,我们可以先将数组变为 $[1,2,1,2]$ 后重排为 $[1,1,2,2]$​,此时数组符合条件。 对于样例 $2$,我们可以将数组变为 $[1,1,1]$,当然 $[2,2,2],[3,3,3]$ 也符合条件。
查看答案
赣ICP备20007335号-2