Vous voulez ouvrir un nouveau zoo. Ça va être incroyable. Mais étant le radin que vous êtes, vous ne voulez vous permettre que des animaux à trois lettres (tout le monde sait que le coût d'un animal est proportionnel à la longueur de son nom). Voilà votre rêve de faire payer les gens pour voir un elephant
. Mais tout à coup, vous avez une idée brillante. Si vous placez les animaux correctement dans le stylo, vous pouvez créer l'illusion d'optique d'un elephant
! Voici une vue de dessus de votre nouveau "composé d'éléphant":
elk
eel
pig
hog
ant
-------- (fence)
^
| viewing direction
Haha, ces visiteurs crédules!
Oui, c'est ainsi que fonctionne la perception.
Le défi
À partir d'un mot non vide composé uniquement de lettres anglaises minuscules, déterminez s'il peut être formé en superposant les 30 mots animaux suivants de trois lettres:
ant ape asp ass bat bee boa cat cod cow
dab dog eel elk emu fly fox gnu hog ide
jay kea kob koi olm owl pig rat ray yak
Oui, il y en a plus de 30, mais c'est un bon chiffre rond.
Vous pouvez éventuellement recevoir cette liste en entrée (dans n'importe quelle liste ou format de chaîne raisonnable, tant qu'elle n'est pas pré-traitée). Vous voudrez probablement le faire, à moins que la lecture et le traitement de cette liste d’entrée coûtent beaucoup plus cher que le codage en dur et la compression dans la langue de votre choix. Notez que même si vous prenez la liste en entrée, vous pouvez supposer que ce sera toujours cette liste. Si votre code repose sur une liste de 30 éléments et ne contient pas de mot z
, c'est correct.
Chaque mot peut être utilisé plusieurs fois. Les animaux ne peuvent pas être coupés aux extrémités, ils ne sont que partiellement cachés par d'autres animaux. Donc, ce ox
n'est pas une chaîne possible, même si nous avons fox
.
La sortie devrait être la vérité si cela est possible, et la fausseté sinon.
Vous pouvez écrire un programme ou une fonction en prenant l’entrée via STDIN (ou l’alternative la plus proche), un argument de ligne de commande ou une argumentation de fonction et en générant le résultat via STDOUT (ou l’alternative la plus proche), une valeur de retour de fonction ou un paramètre de fonction (out).
Votre code devrait gérer n'importe lequel des cas de test en quelques secondes.
Les règles standard de code-golf s'appliquent.
Plus d'exemples
- Tout mot d'une ou deux lettres est évidemment faux.
- Il en va de même des mots de trois lettres qui ne figurent pas dans la liste ci-dessus.
- Bien que nous ayons
gnu
etrat
,gnat
est falsy car il n'y a aucun moyen de les organiser de telle sorte que vous ne voyez deux lettres de chaque (nous ne voulons pas couper les animaux en tiers).
Quelques exemples de vérité:
pigment
ant
bee
olm
pig
antioxidant
fox
koi ide
ant ant
Cas de test
La plupart des cas de test provenaient de l'exécution d'une implémentation de référence sur un dictionnaire. Les derniers "mots" ont été générés de manière aléatoire et sont simplement là pour assurer que les soumissions sont suffisamment efficaces.
Vérité
ant
owl
bass
pride
bobcat
peafowl
elephant
hedgehogs
crocodile
antidemocrat
aspidoganoidei
biodegradability
angioelephantiasis
propreantepenultimate
acategnukeaidabeleenaspcodcoidyakwakoasshogattkjaypigkobolcodidaskearaywelkwboaxbeeuflapaspoapemaassaaspeewoglmabiemuwjadogacagnuepigjaycownbatjaemuifoxkeaeekekeagratsseeluejdoghogaolmgpigbeaeelemulasphogjaydabemukgnunueifoasdoglrayyadogpewlayroassasslgnuaspyyakkbokeaodxilopgnuasppigkobelratelkolmakob
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeeecatgeaoccattbbeassgnasolkeaflyelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
eolmantjkobeeaorayogaowldfoxayeassapibatmflylyraelaspsseolmbelkkaoantlmufodasgnueantaidenthyakcodoxuepigodggnuantatlcatnuuelkpemucbapeeoiahdogplkowletbatdrayarayoaelkgrayodcatgkantewkobeljaybeeyfkobtbdabadoghbatfoxtflygaspdeidogtowlkeaolmyraelfleelejayehogowlccatoxeabiemkobpigolmdkobrcidekyakabboyidep
Fausseté:
a
ox
ram
bear
koala
antelope
albatross
zookeeper
salamander
caterpillar
hippopotamus
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeezcatgeaoccattbbeassgnasolkeaflyelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeeecatgeaoccattbbeassgnasolkeaflxelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
beyeodpgspeclxlkbkaylldnceepkocbdmymsaogsowpbawbauaioluaaagaetdoaoialeoxaagspoelegflpylptylnolnatrjabaorkdteeydloiebbptatdtfdfgoodtbkoafmounbduaffcrfelcnawmxaskgaoenaattbaobgbgabnhkesbgaaaaotafkiiieatworginaeowaehuddegooaalowaoososaksahoimkulbtoadyyelkcmkacbuostadppcuglbnmotedfgfkoleldonknemomnmoutykg
You may optionally receive this list as input
- Cela signifie-t-il qu'il ne compte pas dans le score, alors que coder en dur le serait?