#LQ3026. 交换石头

    ID: 2123 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>第十五届蓝桥杯青少年组国赛

交换石头

题目描述

有两排石头,每排nn颗,从左到右依次排开,每颗石头的颜色为黄色或者绿色。每次可以选择第一排的任意一颗石头与第二排的任意一颗石头交换位置。请计算最少需要交换多少次才能使每一列石头的颜色都相同;如果无论交换多少次都无法使每一列石头的颜色都相同,则输出-1

例如:n=3n =3,每排33颗石头; 第一排 33 颗石头的颜色从左到右依次是黄、绿、绿:

第二排 33 颗石头的颜色从左到右依次是绿、绿、黄:

其中一种最少交换次数的方案如下 1.先将第一排的第 33 颗石头与第二排的第 33 颗石头交换位置;

2.再将第一排的第 33 颗石头与第二排的第 11 颗石头交换位置。

此时每一列石头的颜色都相同,故至少需要交换22次。

输入

第一行包含一个墪数 TT,表示数据组数接下来 TT 组数据。

每组数据第一行输入一个整数 nn,表示每排石头的数量。第二行输入几个整数,整数只能为1或 0,1表示黄色,0 表示绿色,表示第一排从左到右每颗石头的颜色,整数之间以一个空格隔开;

第三行输入nn个整数,整数只能为1或 0,1 表示黄色,0 表示绿色,表示第二排从左到右每颗石头的颜色,整数之间以一个空格隔开。

输出

输出 TT 行,每行一个整数。

ii行整数表示输入的第ii组数据的最少交换次数;如果该组数据无论交换多少次都无法使每一列石头的颜色都相同,则输出 -1。

2
3
1 0 0
0 0 1
5
1 0 1 0 1
0 1 0 1 0
2
-1

提示

1T300 1 \leq T \leq 300

1n1041 \leq n \leq 10^4