AT_s8pc_4_a Atcoder Handles

题目描述

配点:$250$ 分 人物 X 看到了一个包含 $N$ 个用户名 $S_1, S_2, \dots, S_N$ 的列表。 然而,这个列表的部分内容不可见,不可见的部分用 `?` 表示。 如果人物 X 的用户名 $T$ 被加入到列表中,那么将 $N+1$ 个人的用户名按字典序排列时,$T$ 可能会出现在哪些位置?请找出所有可能出现的位置。 注意,如果有重名的人,T 可能会出现在这些名字之前或之后的任意一个可能的位置。 如果没有不可见的部分,3 个用户名按字典序排列是 `e`、`petr`、`tourist`,因此 `e` 排在第 1 位。 ``` 4 e e e e e ``` ``` 5 ?? ?? d? ?e ?f zzz ``` ``` 7 atcoder topcoder codeforces hackerrank csacademy codechef atcoder square ``` ``` 7 ??i? ?o???g???? ??m??x? ?h?????i s???? ?og???? u?? square ```

输入格式

输入以如下格式从标准输入读入: > $N$ > $S_1$ > $S_2$ > $\vdots$ > $S_N$ > $T$

输出格式

请你求出 $T$ 可能出现的所有位置,按照数字升序并用空格分隔输出(数字之间有空格,最后一个数字后面没有空格)。 另外,最后要输出换行符。

说明/提示

### 约束条件 - $1 \leq N \leq 10000$ - $1 \leq |S_i|, |T| \leq 20$(这里 $|A|$ 表示字符串 $A$ 的长度) - $S_i$ 仅由小写英文字母或 `?` 组成。 - $T$ 仅由小写英文字母组成。 ### 得分分配 子任务 1 \[$130$ 分\] - 列表中没有不可见的部分。 子任务 2 \[$120$ 分\] - 无附加约束。 ### 样例解释 2 如果 `?o?r?s?` 被补全为 `tourist`,并且 `?et?` 被补全为 `petr`,就会有 `e`、`petr`、`tourist` 的顺序,此时 `e` 在第 1 位。 如果 `?o?r?s?` 被补全为 `aobrcsd`,并且 `?et?` 被补全为 `petr`,就会有 `aobrcsd`、`e`、`petr` 的顺序,此时 `e` 在第 2 位。 如果 `?o?r?s?` 被补全为 `aobrcsd`,并且 `?et?` 被补全为 `dete`,就会有 `aobrcsd`、`dete`、`e` 的顺序,此时 `e` 在第 3 位。 所以所有位置都是有可能出现的。 ### 样例解释 3 需要注意,如果有多个相同名字的人,T 可能会出现在这些名字前后任意一个可以的位置。 由 ChatGPT 5 翻译