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 翻译