CF1736A Make A Equal to B
题目描述
给定两个长度为 $n$ 的数组 $a$ 和 $b$,每个元素都是 $0$ 或 $1$。
你可以进行两种操作:
- 选择一个下标 $i$,将 $a_i$ 变为 $1-a_i$。
- 任意重排数组 $a$。
请你求出将 $a$ 变为 $b$ 所需的最少操作次数。
输入格式
每个测试点包含多组测试数据。第一行包含一个整数 $t$($1 \leq t \leq 400$),表示测试用例的组数。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个整数 $n$($1 \leq n \leq 100$),表示数组 $a$ 和 $b$ 的长度。
第二行包含 $n$ 个用空格分隔的整数 $a_1,a_2,\ldots,a_n$($a_i$ 为 $0$ 或 $1$),表示数组 $a$。
第三行包含 $n$ 个用空格分隔的整数 $b_1,b_2,\ldots,b_n$($b_i$ 为 $0$ 或 $1$),表示数组 $b$。
输出格式
对于每组测试用例,输出一个整数,表示将 $a$ 变为 $b$ 所需的最少操作次数。
说明/提示
在第一个样例中,只需一次操作:将 $a_1$ 变为 $1-a_1$。此时 $a = [0, 0]$,等于 $b$。
在第二个样例中,最优做法是重排 $a$ 得到数组 $[0, 1, 1]$。此时 $a = [0, 0, 1]$,等于 $b$。
在第二个样例中,另一种最优做法是先将 $a_3$ 变为 $1-a_3$,然后重排 $a$。
在第三个样例中,不需要任何操作。
在第四个样例中,最优做法是重排 $a$ 得到数组 $[0, 1, 1, 0]$。
由 ChatGPT 4.1 翻译