Ketika saya masih muda, saya biasa memainkan permainan kata yang disebut rantai kata . Itu sangat sederhana. Pemain pertama memilih sebuah kata; pemain berikutnya mengatakan kata lain yang dimulai dengan huruf yang sama dengan kata sebelumnya berakhir. Ini berlangsung selamanya sampai seseorang menyerah! Triknya adalah, Anda tidak dapat menggunakan kata yang sama dua kali (kecuali semua orang lupa bahwa kata itu bahkan digunakan!). Biasanya kami bermain dengan topik tertentu untuk membuatnya lebih sulit. Tapi sekarang, saya ingin Anda membuat program untuk melakukan ini untuk saya.
Tantangan
Tulis program atau fungsi lengkap untuk menemukan semua rantai kata yang paling panjang menggunakan serangkaian kata dan mulai kata.
Ini kode-golf , jadi kode terpendek menang!
Memasukkan
Ada dua input: daftar dan kata awal. Kata awal tidak akan ada dalam daftar. Masukan semua huruf kecil ASCII, dan daftar tidak akan berisi kata-kata rangkap.
Keluaran
Semua urutan kata dari daftar sedemikian rupa sehingga:
Kata awal adalah kata pertama dalam urutan.
Setiap kata berikutnya dimulai dengan huruf yang sama dengan huruf terakhir dari kata sebelumnya.
Panjang urutannya adalah yang terpanjang .
Jika ada beberapa urutan terpanjang, hasilkan semuanya.
Urutan tidak harus mengandung semua kata daftar. Terkadang itu tidak mungkin (lihat testcases). Sekali lagi, tidak ada kata yang dapat digunakan dua kali!
Testcases
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]