AT_past19_e コメントの除去

题目描述

你想实现一种类似 C 语言的注释系统。 给定一个长度为 $N$ 的字符串 $S$,该字符串仅包含 `/`、`*` 和小写英文字母。请针对 $S$ 执行以下过程: 1. 准备一个可取整数值的变量 $x$,初始值为 $1$。 2. 寻找一个 $n$,使得: - $x \leq n \leq |S| - 1$;且 - $S$ 的第 $n$ 个字符为 `/`,第 $n+1$ 个字符为 `*`。 3. 如果没有 $n$ 满足第 2 步的条件,则终止该过程。否则,令 $i$ 为最小的满足条件的 $n$。 4. 寻找一个 $n$,使得: - $i + 2 \leq n \leq |S| - 1$;且 - $S$ 的第 $n$ 个字符为 `*`,第 $n+1$ 个字符为 `/`。 5. 如果没有 $n$ 满足第 4 步的条件,则终止该过程。否则,令 $j$ 为最小的满足条件的 $n$。 6. 删除 $S$ 的第 $i$ 个至第 $j+1$ 个字符,将剩余字符串按照原有顺序拼接,令 $S$ 为拼接后的字符串。将 $x$ 赋值为 $i$,然后返回第 2 步。 请输出经过上述过程后的字符串 $S$。

输入格式

输入从标准输入按以下格式给出: $N$ $S$

输出格式

输出经过上述过程后的字符串 $S$。

说明/提示

### 样例解释 1 在本说明中,用 $S_n$ 表示 $S$ 的第 $n$ 个字符。 该过程如下: - 初始时,$S = $ `a/*b*/c`,$x = 1$。 - 寻找满足第 2 步条件的 $n$。$n = 2$ 满足 $x \leq n \leq |S|-1$、$S_{n} = /$,$S_{n+1} = *$,且是最小的 $n$。因此 $i = 2$。 - 寻找满足第 4 步条件的 $n$。$n = 5$ 满足 $i + 2 \leq n \leq |S| - 1$、$S_{n} = *$、$S_{n+1} = /$,且是最小的 $n$。因此 $j = 5$。 - 删除 $S$ 的第 $i=2$ 个到第 $j+1=6$ 个字符,将剩下的字符串拼接后令 $S = ac$,再令 $x = 2$,返回第 2 步。 - 继续寻找满足第 2 步的 $n$,发现不存在这样的 $n$,过程终止。 最终,$S$ 变为 `ac`,应输出 `ac`。 ### 样例解释 2 最终,$S$ 也可能变为空字符串。 ### 数据范围 - $1 \leq N \leq 10^6$ - $S$ 为长度为 $N$、仅包含 `/`、`*` 及小写英文字母的字符串。 - $N$ 为整数。 由 ChatGPT 5 翻译