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 翻译