#P14794. [NERC 2025] Medical Parity
[NERC 2025] Medical Parity
Description
Mira 护士在一家过敏诊所工作。对于每位患者,Mira 按固定顺序测试 种过敏原。测试结果被记录为一个长度为 的二进制字符串 :对于每种过敏原,1 表示阳性反应,0 表示无反应。
为了分析反应是如何分布的,Mira 还会为 编写一个 奇偶控制字符串。对于一个长度为 的二进制字符串 ,奇偶控制字符串 定义如下:对于每个位置 (),令 为 的前 个字符(包括位置 )中等于 1 的字符个数。奇偶控制字符串 是一个长度为 的二进制字符串,使得对所有 (),有 。换句话说,如果 为奇数则 为 1,如果 为偶数则 为 0。例如,如果 ,那么 。
不幸的是,在记录数据时,测试结果字符串和奇偶控制字符串中的某些位可能被错误地书写了。对于一位给定的患者,Mira 后来在系统中找到了两个长度相同、均为 的二进制字符串 和 。它们本应是某个真实的测试结果字符串 及其奇偶控制字符串 ,但在记录过程中 和 的一些位可能被翻转了。例如,在前面的例子中,只有 的第 3 位可能被翻转了,导致 和 。
在一次 位翻转 中,选择两个字符串中某一位置,将该位置的位进行翻转(将 0 变为 1 或将 1 变为 0)。Mira 想知道在记录数据时可能发生的最小位翻转次数。
形式化地说,你被给予两个长度为 的二进制字符串 和 。你希望通过翻转 和 中的一些位,得到两个长度为 的字符串 和 ,使得 是 的奇偶控制字符串。找出所需的最小可能的总位翻转次数。
Input Format
输入的第一行包含测试用例的数量 。接下来是 行 —— 每个测试用例两行。每个测试用例的第一行包含一个非空的二进制字符串 ,由字符 0 和 1 组成。第二行包含一个二进制字符串 ,由字符 0 和 1 组成,且长度与 相同。
输入中所有 字符串的总长度不超过 。
Output Format
输出 行 —— 每个测试用例一行。对于每个测试用例,输出一个整数 —— 在记录数据时可能发生的最小位翻转次数。
3
11101
10110
11101
10010
01100
10110
0
1
2
Hint
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号