जब मैं छोटा था, तो मैं एक शब्द का खेल खेलने के लिए उपयोग करता हूं जिसे वर्ड चेन कहा जाता है । यह बहुत सरल था। पहला खिलाड़ी एक शब्द चुनता है; अगला खिलाड़ी एक और शब्द कहता है जो उसी अक्षर से शुरू होता है जिसका पिछला शब्द समाप्त हुआ था। यह हमेशा के लिए चला जाता है जब तक कि कोई त्याग नहीं करता! ट्रिक यह है कि आप एक ही शब्द का दो बार उपयोग नहीं कर सकते (जब तक कि हर कोई उस शब्द का इस्तेमाल भूल न जाए!)। आमतौर पर हम इसे कठिन बनाने के लिए एक निश्चित विषय के साथ खेलते हैं। लेकिन अब, मैं चाहता हूं कि आप मेरे लिए ऐसा करने के लिए एक कार्यक्रम बनाएं।
चुनौती
शब्दों और दिए गए शब्दों के सेट का उपयोग करके सभी सबसे लंबे समय तक संभव शब्द श्रृंखलाओं को खोजने के लिए एक पूर्ण कार्यक्रम या फ़ंक्शन लिखें।
यह कोड-गोल्फ है , इसलिए सबसे छोटा कोड जीतता है!
इनपुट
दो इनपुट हैं: एक सूची और एक शुरुआत शब्द। प्रारंभ शब्द सूची में नहीं होगा। इनपुट्स सभी लोअरकेस 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]