#AT2304. D - Unique Username
D - Unique Username
当前没有测试数据。
D - 唯一的用户名
得分:400分
问题描述
Takahashi 在决定一个服务的用户名时遇到了麻烦。编写一个代码来帮助他。
找到一个字符串 $X$ ,满足以下所有条件:
- $X$ 是通过以下步骤获得的:
- 设 $S_1', S_2', \ldots,S_N'$ 是 $S_1, S_2, \ldots,S_N$ 的一个全排列,然后按照以下顺序将它们依次串联起来得到 $X$:$S_1'$,(一个或多个下划线
_
),$S_2'$,(一个或多个下划线_
),$\ldots$,(一个或多个下划线_
),$S_N'$。
- 设 $S_1', S_2', \ldots,S_N'$ 是 $S_1, S_2, \ldots,S_N$ 的一个全排列,然后按照以下顺序将它们依次串联起来得到 $X$:$S_1'$,(一个或多个下划线
- $X$ 的长度介于 $3$ 到 $16$ 之间,包括端点值。
- $X$ 不与任何字符串 $T_1,T_2,\ldots,T_M$ 相同。
如果没有满足所有条件的 $X$ ,则输出 -1
。
约束条件
- $1 \leq N \leq 8$
- $0 \leq M \leq 10^5$
- $N$ 和 $M$ 是整数。
- $1 \leq |S_i| \leq 16$
- $N-1+\sum{|S_i|} \leq 16$
- $S_i \neq S_j$ 当 $i \neq j$。
- $S_i$ 是由小写英文字母组成的字符串。
- $3 \leq |T_i| \leq 16$
- $T_i \neq T_j$ 当 $i \neq j$。
- $T_i$ 是由小写英文字母和下划线组成的字符串。
输入
从标准输入中按以下格式给出输入:
输出
输出一个满足所有条件的字符串 $X$ 。如果没有满足所有条件的 $X$ ,则输出 -1
。
如果有多个解,输出任意一个都可以。
1 1
chokudai
chokudai
-1
唯一满足第一个和第二个条件的字符串是 $X=$ chokudai
,但它与 $T_1$ 相同。
所以没有满足所有条件的 $X$ ,应该输出 -1
。
2 2
choku
dai
chokudai
choku_dai
dai_choku
像 choku__dai
(即 choku
和 dai
之间有两个下划线_
)这样的字符串也满足所有条件。
2 2
chokudai
atcoder
chokudai_atcoder
atcoder_chokudai
-1
chokudai__atcoder
和 atcoder__chokudai
(即 chokudai
和 atcoder
之间有两个下划线_
)的长度为 $17$ ,违反了第二个条件。
4 4
ab
cd
ef
gh
hoge
fuga
____
_ab_cd_ef_gh_
ab__ef___cd_gh
给定的 $T_i$ 可能包含不能通过第一个条件描述的字符串。