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$ 为整数。