首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >信件装箱验证器

信件装箱验证器
EN

Code Golf用户
提问于 2019-04-15 10:41:04
回答 6查看 1.7K关注 0票数 28

“纽约时报”有一款名为盒装信件的每日在线游戏(链接在付费墙后面;游戏也被描述为这里),在一个广场上呈现如下:

给您4组3个字母(每个组对应于图片的一侧);没有字母出现两次。游戏的目的是找出由这12个字母组成的单词(只有这些字母),以便:

  • 每个单词至少有3个字母长;
  • 连续字母不能来自同一侧;
  • 一个词的最后一个字母变成下一个单词的第一个字母;
  • 所有字母至少使用一次(字母可以重复使用)。

在这个挑战中,你会得到字母和单词的列表。目标是检查单词列表是否是一个有效的字母框解决方案。

输入

输入由(1) 4组3个字母和(2)一个单词列表组成。它可以是任何适当的格式。

输出

如果单词列表是对这4×3字母的字母装箱挑战的有效解决方案,则为真实值,否则为falsey值。

测试用例

letters={{I,C,O}, {M,R,E}, {G,N,S}, {A,P,L}}.

Truthy价值观

  • 朝圣,附上
  • 庄稼,帆,瘦,不,谜

Falsey值

  • 朝圣,经济(不可能有CO,因为他们在同一一边)
  • 农作物,帆,瘦,不(G和M未被使用)
  • 朝圣,封地(U不是12个字母中的一个)
  • 附件,朝圣(第一字的最后一封信不是第二字的第一封信)
  • 诈骗,所以,组织,私奔(所有的单词必须至少有3个字母长)。

请注意,在这个挑战中,我们不关心单词是否有效(字典的一部分)。

评分:

这个密码-高尔夫,以字节为单位的最低分数获胜!

EN

回答 6

Code Golf用户

发布于 2019-04-15 11:50:01

05AB1E,42字节

代码语言:javascript
复制
εg2›}P¹εεUIεXå}ƶO}üÊP}P¹ü‚ε`нsθQ}P¹Jê²JêQP

在网上试试!

票数 5
EN

Code Golf用户

发布于 2019-04-15 11:11:08

Python 2,171个字节

代码语言:javascript
复制
lambda l,w:(set(sum(l,[]))==set(''.join(w)))*all(a[-1]==b[0]for a,b in zip(w,w[1:]))*all((a in g)+(b in g)<2for x in w for a,b in zip(x,x[1:])for g in l)*min(map(len,w))>2

在网上试试!

票数 4
EN

Code Golf用户

发布于 2019-04-15 13:15:00

果冻,34 字节数

代码语言:javascript
复制
Ṫ=¥/ƝḢ€Ạȧ⁸Fe€ⱮZḄ;IẠƊȧF}fƑF{
ẈṂ>2ȧç

一个二进式链接,它接受左边的单词和右边的字母组,这将产生1 (如果有效)和0 (如果没有)。

在网上试试!或者看测试套件

票数 4
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/183213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档