问题
您被困在树林中的小屋中,只有一个旧的拼字游戏可以娱乐自己。通过检查,您会看到拼字游戏字母非常磨损,以至于每个字母都仅可见。
尽管如此,您还是决定玩游戏。您从书包中取出七个字母并将其放在托盘上,您面临的挑战是确定这些字母可能是什么。
因此,通常,给定点列表会将其转换为任何可能的字符串或字母列表。
拼字游戏瓷砖和发行
- 2个空白磁贴(得分0分)
- 1点:E×12,A×9,I×9,O×8,N×6,R×6,T×6,L×4,S×4,U×4
- 2分:D×4,G×3
- 3分:B×2,C×2,M×2,P×2
- 4点:F×2,H×2,V×2,W×2,Y×2
- 5分:K×1
- 8点:J×1,X×1
- 10点:Q×1,Z×1
所以,如果你有个列表[10,10,8,5,1,1,1]
,然后"QZJKEEE"
将是有效的,但"QQJKEEE"
不会是有效的(因为在包里只有1 Q瓦)
问题特定规则
- 您可以假设所有输入都是有效的,并且将始终有7个图块(即,它将不是七个10点图块的列表,也不是9个图块)
- 您可以假设以前没有从包中拉出任何瓷砖(因此,分布是上述定义的英语瓷砖的标准分布)
- 您不必生成有效的单词,只需生成有效的字母字符串即可。
- 只要每个图块都有对应的字母,字符串的顺序就无关紧要。
- 点数是根据上面定义的标准英语拼字游戏点数得出的。
- 您可以输出大写或小写,对于空白图块,您可以输出空格字符或下划线“ _”
- 您的答案可能输出为图块的任何合理表示形式,例如列表,字符串,数组或序列
一般规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接(即TIO)。
- 另外,强烈建议为您的答案添加说明。
测试用例
显然,由于可以输出任何可能的值,因此很难定义严格的测试用例。
某些情况下可能带有有效的返回值:
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
某些情况下返回值无效:
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
唯一重要的案例是使用循环方法D
而不是a G
)