CF2260A Monocarp's Contest
题目描述
Monocarp 正在筹备一个团队程序设计竞赛。比赛包含 $n$ 道题目,每道题要么是简单题,要么是难题。题目编号从 $1$ 到 $n$。
Monocarp 希望比赛的第一题和最后一题都是简单题。他每次操作可以任选两道题,并交换它们的位置。
请你计算,将第一题和最后一题都变成简单题所需的最少操作次数,或者判断这是否不可能。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^3$),表示测试用例个数。
每个测试用例包含两行:
- 第一行包含一个整数 $n$($2 \le n \le 50$),表示本场竞赛的题目数量;
- 第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le 1$)。如果 $a_i=0$,则编号为 $i$ 的题目是简单题;如果 $a_i=1$,则它是难题。
输出格式
对于每个测试用例,输出将第一题和最后一题都变为简单题所需的最小操作次数。如果无法做到,输出 $-1$。
说明/提示
在第一个测试用例中,第一题和最后一题已经是简单题,因此不需要任何操作。
在第二个测试用例中,只有一道简单题,因此不可能让第一题和最后一题都是简单题。
在第三个测试用例中,可以交换第一题和第二题。
在第四个测试用例中,可以先交换第一题和第二题,再交换第三题和第五题。
由 ChatGPT 5 翻译