atcoder#ABC268D. [ABC268D] Unique Username
[ABC268D] Unique Username
题目描述
高橋君はあるサービスで使うユーザー名を決めるのに困っています。彼を助けるプログラムを書いてください。
以下の条件をすべて満たす文字列 を つ求めてください。
- は次の手順で得られる文字列である。
- 個の文字列 を好きな順番で並べたものを とする。そして、、( 個以上の
_
)、、( 個以上の_
)、、( 個以上の_
)、 をこの順番で連結したものを とする。
- 個の文字列 を好きな順番で並べたものを とする。そして、、( 個以上の
- の文字数は 以上 以下である。
- は 個の文字列 のいずれとも一致しない。
ただし、条件をすべて満たす文字列 が存在しない場合は代わりに -1
と出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
条件をすべて満たす文字列 を つ出力せよ。ただし、条件をすべて満たす文字列 が存在しない場合は代わりに -1
を出力せよ。
答えが複数存在する場合、どれを出力しても良い。
题目大意
高桥君有取名选择困难症,于是他找到你,希望帮他取一个用户名。
具体取名规则是:把给定的 个字符串 以任意顺序排列,并在每两个字符串中间加 个下划线,要求不能与后面给定的 个字符串 中的任意一个相同。
其中,你给出的字符串的长度 应该满足 。如果无法满足条件,输出 。
输入格式
第一行两个整数,分别为 和 ;
后 行每行一个字符串 ;
后 行每行一个字符串 。
输出格式
一个满足题意的字符串 。如果没有满足的,输出一个数 。
1 1
chokudai
chokudai
-1
2 2
choku
dai
chokudai
choku_dai
dai_choku
2 2
chokudai
atcoder
chokudai_atcoder
atcoder_chokudai
-1
4 4
ab
cd
ef
gh
hoge
fuga
____
_ab_cd_ef_gh_
ab__ef___cd_gh
提示
制約
- は整数
- ならば
- は英小文字のみからなる文字列
- ならば
- は英小文字と
_
のみからなる文字列
Sample Explanation 1
条件のうち 番目と 番目を満たす文字列は chokudai
しかありませんが、これは と一致します。 このため、条件をすべて満たす文字列 が存在せず、-1
が正しい出力となります。
Sample Explanation 2
この他に、choku\_\_dai
(choku
と dai
の間の \_
が つ) 等も条件をすべて満たします。
Sample Explanation 3
chokudai\_\_atcoder
や atcoder\_\_chokudai
(chokudai
と atcoder
の間の \_
が つ)は文字数が なので 番目の条件を満たしません。
Sample Explanation 4
番目の条件で記述されている操作で得られないような文字列が として与えられる場合があります。