给定一个矩形文本作为单词搜索难题和一个搜索字符串,请确定该文本是否包含搜索字符串。搜索字符串可能会出现:
- 水平,垂直或对角线
- 前进或后退
您可以编写一个函数或程序,并通过函数参数ARGV或STDIN接受两个字符串作为输入。输出应该是真实的或虚假的结果,可以从函数返回或写入STDOUT。
假定文本将包含任意可打印的ASCII字符(十六进制代码20至7E)和换行符。字母区分大小写。您可以假定输入文本为矩形,即所有行的长度均相同。您可以输入是否以尾随换行符结尾(如果对您的提交很重要)。
这是代码高尔夫球,最短的答案(以字节为单位)获胜。
例子
使用维基百科关于单词搜索的文章中的此网格作为第一个输入:
WVERTICALL
ROOAFFLSAB
ACRILIATOA
NDODKONWDC
DRKESOODDK
OEEPZEGLIW
MSIIHOAERA
ALRKRRIRER
KODIDEDRCD
HELWSLEUTH
以下搜索字符串应分别产生真实或虚假结果:
Truthy: RANDOM, VERTICAL, HORIZONTAL, WORDSEARCH, WIKIPEDIA, TAIL
Falsy: WordSearch, CODEGOLF, UNICORN
或者,使用此输入文本
Lorem ipsum dolor sit amet consectetu
r adipisicing elit sed do eiusmod tem
por incididunt ut labore et dolore ma
gna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco lab
oris nisi ut aliquip ex ea commodo co
nsequat. Duis aute irure dolor in rep
rehenderit in voluptate velit esse ci
llum dolore eu fugiat nulla pariatur.
我们得到以下搜索结果(现在使用引号,因为某些搜索字符串中有空格):
Truthy: "Lorem", "mine", "uma bop", "tuetdod", "snol,a", "texas", "pii.d v", "vexta"
Falsy: "lorem", "wordsearch", "pii.d v", "mute"