说明
可以通过散布两个字母以形成一个新的字符串来打乱两个字符串,就像可以将两堆纸牌打乱形成一个单独的字符串一样。
例如,可以将字符串HELLO
和WORLD
改组为HWEOLRLLOD
或HEWORLLLDO
,或者简单地为HELLOWORLD
。
这是不是一个洗牌如果没有保存的信件的原始顺序。例如,D
in WORLD
不能R
在改组后出现。EHLLOWRDLO
举例来说,这意味着即使其中包含所有原始字母,也不是HELLO
and WORLD
的改组。
如果可以通过改组两个相同的琴弦来构成双胞胎,则该琴弦是双胞胎的混洗。例如,ABACBDECDE
是双胞胎的混洗,因为它可以通过改组ABCDE
和形成ABCDE
。DBEACBCADE
不是双胞胎的混洗,因为它不能通过混洗两个相同的琴弦来形成。
计划详情
给定一个输入字符串,0
如果不是一对双胞胎,则输出,如果不是一对双胞胎,则输出一个双胞胎字符串。
您可以假设输入字符串的长度(包括4到20个字符),并且完全由大写字母字符组成。它应该能够在合理的时间内运行,例如不到10分钟。
这就是代码高尔夫,所以最短的解决方案是成功的。
示例I / O
> ABACBDECDE
ABCDE
> DBEACBCADE
0
> FFFFFF
FFF
> FFGGG
0
> ABBA
0
> AABB
AB
> AABAAB
AAB
我有一个示例(非高尔夫)实现。
FFGGG
了编辑以使其一致。
that the input string has a length inclusively between four and twenty characters
,不要告诉我“永远不要相信用户输入!”,“永远不要相信规范!”。