AT_abc401_d [ABC401D] Logical Filling

题目描述

[problemUrl]: https://atcoder.jp/contests/abc401/tasks/abc401_d 给定一个长度为 $N$ 的字符串 $S$,仅由 `.`、`o` 和 `?` 组成。将所有 `?` 分别替换为 `.` 或 `o` 后得到的字符串中,满足以下所有条件的字符串集合记为 $X$: - `o` 的个数恰好为 $K$ 个 - `o` 不连续出现 保证 $X$ 不是空集。 请输出满足以下条件且长度为 $N$ 的字符串 $T$(其中 $T_i$ 表示 $T$ 的第 $i$ 个字符): - 若 $X$ 中所有字符串的第 $i$ 个字符都是 `.`,则 $T_i =$ `.` - 若 $X$ 中所有字符串的第 $i$ 个字符都是 `o`,则 $T_i =$ `o` - 若 $X$ 中既存在第 $i$ 个字符为 `.` 的字符串,也存在第 $i$ 个字符为 `o` 的字符串,则 $T_i =$ `?`

输入格式

输入通过标准输入给出,格式如下: > $N$ $K$ > > $S$

输出格式

输出答案字符串 $T$。

说明/提示

### 约束条件 - $1 \leq N \leq 2 \times 10^5$ - $0 \leq K$ - $S$ 是仅由 `.`、`o` 和 `?` 组成的长度为 $N$ 的字符串 - $X$ 不是空集 - 输入的所有数值均为整数 ### 样例解释 1 $X$ 包含两个字符串 `o.o.` 和 `o..o`。由于 $X$ 中所有字符串的第 1 个字符都是 `o`,所以 $T_1 =$ `o`。$X$ 中所有字符串的第 2 个字符都是 `.`,所以 $T_2 =$ `.`。$X$ 中既有第 3 个字符为 `.` 的字符串,也有为 `o` 的字符串,因此 $T_3 =$ `?`。 翻译由 DeepSeek V3 完成