#5946. 字符串

字符串

题目描述

给定一个长度为 NN 的字符串 SS,仅由 .o? 组成。将所有 ? 分别替换为 .o 后得到的字符串中,满足以下所有条件的字符串集合记为 XX

  1. o 的个数恰好为 KK 个;
  2. o 不连续出现。

保证 XX 不是空集。

请输出一个长度为 NN 的字符串 TT,其中 TiT_i 表示 TT 的第 ii 个字符,规则如下:

  • XX 中所有字符串的第 ii 个字符都是 .,则 Ti=.T_i = \texttt{.}
  • XX 中所有字符串的第 ii 个字符都是 o,则 Ti=oT_i = \texttt{o}
  • XX 中既存在第 ii 个字符为 . 的字符串,也存在第 ii 个字符为 o 的字符串,则 Ti=?T_i = \texttt{?}

输入格式

第一行包含两个整数 NNKK
第二行包含一个长度为 NN 的字符串 SS,仅含 .o?

输出格式

输出一行,为构造出的字符串 TT

样例

4 2
o???
o.??
5 2
?????
?????
7 3
.o???o.
.o.o.o.

样例解释

  • 样例 1:XX 包含 o.o.o..o。第 1 位在所有串中都是 o,故 T1=oT_1 = \texttt{o};第 2 位在所有串中都是 .,故 T2=.T_2 = \texttt{.};第 3 位既有 . 也有 o,故 T3=?T_3 = \texttt{?};第 4 位同理为 ?。结果为 o.??
  • 样例 2:可能的方案太多,每一位都既有 . 也有 o,故全为 ?
  • 样例 3:唯一合法的方案是 o 放置在位置 2、4、6,其余为 .,即 o.o.o.,因此 TT 与原串确定位置一致。

数据范围与提示

  • 1N2×1051 \le N \le 2 \times 10^5
  • 0KN0 \le K \le N
  • SS 仅由 .o? 组成,长度为 NN
  • XX 非空,保证至少存在一种合法的替换方案
  • 所有输入均为整数