问题描述
给定一个长度为 n 的字符串 t,只包含 0,1,?,你需要把 a 个 ? 替换为 0,b 个 ? 替换为 1,保
证 ? 个数为 a + b。
对于一个 01 串 s,定义 f(s) 为最长的连续的相同字符的长度。你需要最小化 f(t) 并构造方案。
输入格式
输入有多组数据,第一行一个整数 T,表示数据组数。
对于每组数据,第一行三个整数 n, a, b,第二行一个字符串 t,含义如题面所示。
输出格式
对于每组数据,输出两行,第一行一个整数,表示答案,第二行一个 01 串表示你构造的方案,若
有多种最小化方案你只需要输出任意一种。
样例 1 输入
4 7 1 2 0?01??0 10 5 0 ?000??0?0? 11 0 0 11001110100 15 2 4 ?1?11?1??11100?样例 1 输出
1 0101010 10 0000000000 3 11001110100 4 110111101111001数据规模与约定 记 s 为所有数据中的 n 之和。对于所有数据 T ≤ 105, 1 ≤ n ≤ 250000, s ≤ 250000。