AT_arc227_a [ARC227A] Fermat Point of Binary Strings
题目描述
定义一个长度为 $2N$ 且包含 $N$ 个 `0` 和 $N$ 个 `1` 的字符串称为“好串”。
定义两个**长度相等**的好串 $S$ 和 $T$ 之间的距离 $\operatorname{dist}(𝑆,𝑇)$ 表示通过零次或多次交换 $S$ 中相邻字符使其等于 $T$ 所需的最小交换次数。
现给定长度为 $2N$ 的好串 $A,𝐵$ 和 $C$。在所有长度为 $2N$ 好串 $X$ 中,找到一个使 $\operatorname{dist}(𝐴,𝑋)+\operatorname{dist}(𝐵,𝑋)+\operatorname{dist}(𝐶,𝑋)$ 的值最小的 $X$,并输出该最小值及字符串 $X$。
输入格式
按此标准输入读取,格式如下:
- 第一行:一个整数 $N$。
- 第二行:一个字符串 $A$。
- 第三行:一个字符串 $B$。
- 第四行:一个字符串 $C$。
输出格式
$K$ 为找到的最小值,$X$ 为实现该最小值的好串。按以下格式输出:
- 第一行:整数 $K$。
- 第二行:字符串 $X$。
**注意**:若存在多个满足条件的字符串 $X$,输出任意一个即可。
说明/提示
### 样例解释
**样例 1**:
选择 $\texttt{1010}$ 时,$\operatorname{dist}(𝐴,𝑋)=1,\operatorname{dist}(𝐵,𝑋)=0,\operatorname{dist}(𝐶,𝑋)=3$,总和为 $4$,且无法更小。
**样例 2**
三串相同,选择自身即可使距离和为 $0$,结果最小。
### 数据范围
- $1\leq N\leq 2\times 10^5$
- $A,B,C$ 均为长度为 $2N$ 的好串。
- $N$ 为整数。