Ви хочете відкрити новий зоопарк. Це буде дивовижно. Але, будучи шахрайкою, якою ви є, ви хочете дозволити собі лише трьома літерами (всі знають, що вартість тварини пропорційна довжині її назви). Здійснюється ваша мрія - змусити людей платити за перегляд elephant
. Але раптом у вас геніальна ідея. Якщо ви просто помістите тварин правильно в ручку, ви можете створити оптичну ілюзію elephant
! Ось подання вашої нової "слонової сполуки" зверху вниз:
elk
eel
pig
hog
ant
-------- (fence)
^
| viewing direction
Ха-ха, ці довірливі відвідувачі!
Так, саме так працює сприйняття.
Змагання
Давши не порожнє слово, що складається лише з малих англійських букв, визначте, чи воно може бути утворене з перекриття наступних 30 трибуквенних слів тварин:
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
Так, їх більше 30, але це приємне кругле число.
Ви можете необов'язково отримувати цей список як вхідний (у будь-якому розумному списку чи рядковому форматі, доки він не буде попередньо оброблений). Ви, ймовірно, захочете це зробити, якщо тільки читання та обробка цього списку входів не буде набагато дорожче, ніж тверде кодування та стиснення його на обраній вами мові. Зауважте, що навіть якщо ви приймаєте цей список як вхідний, ви можете припустити, що він буде завжди саме таким, тому якщо ваш код покладається на те, що переданий список має тривалість 30 елементів і не містить слова z
, це добре.
Кожне слово можна використовувати кілька разів. Тварин не можна відрізати на кінцях, лише частково приховані іншими тваринами. Отже, ox
це не є можливим рядком, навіть якщо ми маємо fox
.
Висновок повинен бути truthy , якщо це можливо, і falsy інакше.
Ви можете написати програму або функцію, взявши введення через STDIN (або найближчу альтернативу), аргумент командного рядка або аргумент функції та вивівши результат через STDOUT (або найближчу альтернативу), значення повернення функції або параметр функції (out).
Ваш код повинен обробити будь-який з тестових випадків за кілька секунд.
Діють стандартні правила гольф-коду .
Більше прикладів
- Будь-яке одно- або двобуквене слово очевидно хибне.
- Так само будь-яке трибуквене слово, якого немає у наведеному вище списку.
- Хоча у нас є
gnu
іrat
,gnat
це falsy , так як немає ніякого способу , щоб розташувати їх так , що ви бачите тільки дві літери кожного (ми не хочемо , щоб скоротити тварина в третину).
Деякі приклади:
pigment
ant
bee
olm
pig
antioxidant
fox
koi ide
ant ant
Випробування
Більшість тестових випадків було взято із запуску посилання на словник. Останні кілька "слів" були сформовані випадковим чином і якраз там, щоб забезпечити достатню ефективність подань.
Truthy:
ant
owl
bass
pride
bobcat
peafowl
elephant
hedgehogs
crocodile
antidemocrat
aspidoganoidei
biodegradability
angioelephantiasis
propreantepenultimate
acategnukeaidabeleenaspcodcoidyakwakoasshogattkjaypigkobolcodidaskearaywelkwboaxbeeuflapaspoapemaassaaspeewoglmabiemuwjadogacagnuepigjaycownbatjaemuifoxkeaeekekeagratsseeluejdoghogaolmgpigbeaeelemulasphogjaydabemukgnunueifoasdoglrayyadogpewlayroassasslgnuaspyyakkbokeaodxilopgnuasppigkobelratelkolmakob
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeeecatgeaoccattbbeassgnasolkeaflyelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
eolmantjkobeeaorayogaowldfoxayeassapibatmflylyraelaspsseolmbelkkaoantlmufodasgnueantaidenthyakcodoxuepigodggnuantatlcatnuuelkpemucbapeeoiahdogplkowletbatdrayarayoaelkgrayodcatgkantewkobeljaybeeyfkobtbdabadoghbatfoxtflygaspdeidogtowlkeaolmyraelfleelejayehogowlccatoxeabiemkobpigolmdkobrcidekyakabboyidep
Фальсі:
a
ox
ram
bear
koala
antelope
albatross
zookeeper
salamander
caterpillar
hippopotamus
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeezcatgeaoccattbbeassgnasolkeaflyelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
koigdgaspslycoyakehrdabowbatdkkeapogkobelrowlyarpidepetlfoxeboaiderbeefoxbgnuapeocowgiecowlkoieeltbategspemuideatdogbeeecatgeaoccattbbeassgnasolkeaflxelkaognubeeabrratoccolmobodoglyelraywelkoxantowleedrayflypeappigogatraoyakccpiganaaspkobabjaspkointantybjbeeanolmuijaylratojaynueidflyjarayabatmmpigtfly
beyeodpgspeclxlkbkaylldnceepkocbdmymsaogsowpbawbauaioluaaagaetdoaoialeoxaagspoelegflpylptylnolnatrjabaorkdteeydloiebbptatdtfdfgoodtbkoafmounbduaffcrfelcnawmxaskgaoenaattbaobgbgabnhkesbgaaaaotafkiiieatworginaeowaehuddegooaalowaoososaksahoimkulbtoadyyelkcmkacbuostadppcuglbnmotedfgfkoleldonknemomnmoutykg
You may optionally receive this list as input
- це означає, що вона не зараховується до балу, тоді як жорстке кодування це було б?