Dato un testo rettangolare come un puzzle di ricerca di parole e una stringa di ricerca, determinare se il testo contiene la stringa di ricerca. La stringa di ricerca può apparire:
- orizzontalmente, verticalmente o diagonalmente
- avanti o indietro
È possibile scrivere una funzione o un programma e prendere due stringhe come input tramite argomento della funzione, ARGV o STDIN. L'output dovrebbe essere un risultato veritiero o falso che può essere restituito dalla funzione o scritto su STDOUT.
Supponiamo che il testo conterrà caratteri ASCII stampabili arbitrari (codici esadecimali da 20 a 7E) e caratteri di interruzione di riga. Le lettere fanno distinzione tra maiuscole e minuscole. Si può presumere che il testo di input sia rettangolare, ovvero che tutte le linee abbiano la stessa lunghezza. Puoi decidere se l'input termina con una riga finale o meno (se è importante per l'invio).
Questo è il codice golf, vince la risposta più breve (in byte).
Esempi
Usando questa griglia dall'articolo di Wikipedia sulle ricerche di parole come primo input:
WVERTICALL
ROOAFFLSAB
ACRILIATOA
NDODKONWDC
DRKESOODDK
OEEPZEGLIW
MSIIHOAERA
ALRKRRIRER
KODIDEDRCD
HELWSLEUTH
le seguenti stringhe di ricerca dovrebbero produrre rispettivamente risultati di verità o falsa:
Truthy: RANDOM, VERTICAL, HORIZONTAL, WORDSEARCH, WIKIPEDIA, TAIL
Falsy: WordSearch, CODEGOLF, UNICORN
In alternativa, usando questo testo di input
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.
Otteniamo i seguenti risultati di ricerca (usando le virgolette ora, perché ci sono spazi in alcune stringhe di ricerca):
Truthy: "Lorem", "mine", "uma bop", "tuetdod", "snol,a", "texas", "pii.d v", "vexta"
Falsy: "lorem", "wordsearch", "pii.d v", "mute"