Коли я був молодшим, я використовував гру для слів під назвою Word word . Це було дуже просто. Перший гравець вибирає слово; наступний гравець вимовляє ще одне слово, яке починається з тієї самої літери, якою закінчилось попереднє слово. Це триває назавжди, поки хтось не здасться! Хитрість полягає в тому, що ви не можете вживати одне і те ж слово двічі (якщо тільки хто не забув, що це слово було навіть використано!). Зазвичай ми граємо з певною темою, щоб зробити її важче. Але зараз я хочу, щоб ви склали програму, щоб зробити це для мене.
Виклик
Напишіть повну програму або функцію, щоб знайти всі найдовші ланцюги слів за допомогою заданого набору слів і початкового слова.
Це код-гольф , тому найкоротший код виграє!
Вхідні дані
Є два входи: список та початкове слово. Стартове слово не буде у списку. Усі вхідні регістри ASCII є малі, і список не буде містити повторюваних слів.
Вихідні дані
Усі послідовності слів зі списку такі, що:
Початкове слово - це перше слово в послідовності.
Кожне наступне слово починається з тієї самої літери, що і остання літера попереднього слова.
Довжина послідовності є найдовшою можливою .
Якщо є кілька найдовших послідовностей, виведіть їх усі.
Послідовність не обов'язково повинна містити всі слова зі списку. Іноді це неможливо (див. Тести). Знову жодне слово не можна вживати двічі!
Тестові шафи
In: [hello, turtle, eat, cat, people] artistic
Out: [artistic, cat, turtle, eat]
In: [lemonade, meatball, egg, grape] ham
Out: [ham, meatball, lemonade, egg, grape]
In: [cat, cute, ewok] attic
Out: [attic, cute, ewok]
In:[cat, cute, ewok, kilo, to, otter] attic
Out: [attic, cute, ewok, kilo, otter]
In:[cat, today, yoda, attic] ferret
Out: [ferret, today, yoda, attic, cat]
In: [cancel, loitering, gnocchi, improv, vivic, child, despair, rat, tragic, chimney, rex, xylophone] attic
Out: [[attic, child, despair, rat, tragic, cancel, loitering, gnocchi, improv, vivic, chimney], [attic, cancel, loitering, gnocchi, improv, vivic, child, despair, ra', tragic, chimney]]
In: [cat, today, yoda, artistic, cute, ewok, kilo, to, otter] attic
Out: [attic, cat, today, yoda, artistic, cute, ewok, kilo, otter]