एक सेस्टिना कविता का एक प्रारूप है जो एक दिलचस्प पैटर्न का अनुसरण करता है जिसे हम उत्पन्न कर सकते हैं। इसमें छः पंक्तियों के छह छंद हैं, जहाँ पहले छंद में प्रत्येक पंक्ति के अंतिम शब्द प्रत्येक क्रमिक छंद में पंक्ति के अंत को बनाते हैं, एक सेट पैटर्न में घुमाया जाता है। (अंत में एक तीन पंक्ति का श्लोक भी है, लेकिन हम इसके बारे में चिंता नहीं करेंगे।) एलिजाबेथ बिशप के रचनात्मक रूप से सेस्टिना नाम के पहले तीन श्लोक पर एक नज़र डालें :
सितंबर की बारिश घर पर आती है।
असफल प्रकाश में, बूढ़ी दादी लिटिल मार्वल स्टोव के बगल में
बच्चे के साथ रसोई में बैठती है , पंचांग से चुटकुले पढ़ती है, हंसती है और अपने आँसू छिपाने के लिए बात करती है।वह सोचती है कि उसके समतुल्य आंसू
और घर की छत पर होने वाली बारिश
दोनों पंचांग द्वारा भविष्यवाणी की गई थी,
लेकिन केवल एक दादी को पता था।
लोहे की केतली चूल्हे पर बैठती है।
वह कुछ रोटी काटती है और बच्चे से कहती है,अभी चाय का समय है; लेकिन बच्चा गर्म काले चूल्हे पर पागल की तरह
टीकेटे के छोटे कठिन आँसू
नृत्य देख रहा है ,
जिस तरह से बारिश को घर पर नृत्य करना चाहिए।
तंग आकर, बूढ़ी दादी
ने चालाक पंचांग को लटका दिया...
ध्यान दें कि प्रत्येक पंक्ति छह शब्दों में से एक के साथ कैसे समाप्त होती है "घर," "दादी," "बच्चा," "चूल्हा," "पंचांग," या "आँसू।" इतना ही नहीं, लेकिन शब्द पिछले छंद के सापेक्ष 6–1–5–2–4–3 पैटर्न में दिए गए हैं। यह एक सर्पिल की तरह लग रहा है:
हम अभी भी प्रोग्रामेटिक रूप से एक पूर्ण सेस्टिना उत्पन्न करने से कुछ साल दूर हैं, लेकिन हम उचित क्रम में प्रत्येक श्लोक के अंतिम शब्दों की विशेषता वाला एक टेम्पलेट बना सकते हैं। एक प्रोग्राम या फ़ंक्शन लिखें, जो छह लाइन समाप्त करने वाले शब्दों को देखते हुए, इन नियमों का पालन करते हुए एक सेस्टिना के लिए खाका तैयार करता है। यहाँ इनपुट के लिए अपेक्षित परिणाम है house grandmother child stove almanac tears:
house
grandmother
child
stove
almanac
tears
tears
house
almanac
grandmother
stove
child
child
tears
stove
house
grandmother
almanac
almanac
child
grandmother
tears
house
stove
stove
almanac
house
child
tears
grandmother
grandmother
stove
tears
almanac
child
house
पहला श्लोक मूल क्रम में शब्द है, दूसरा श्लोक पहले से 6-1-5-2-4-3 क्रम में है। तीसरा श्लोक वह क्रम है जो दूसरे के सापेक्ष है, और इसी तरह, श्लोक 6 के लिए सभी तरह से।
मान लें कि इनपुट शब्द हमेशा केवल अक्षर, अपरकेस या लोअरकेस होंगे। आप उन्हें एक स्ट्रिंग के एक सरणी के रूप में ले सकते हैं या एक गैर-अक्षर वर्ण (स्थान, नई रेखा, आदि) द्वारा सीमांकित एक स्ट्रिंग है। आउटपुट में, लाइनें newlines ( 0x0A) से अलग हो जाती हैं, और स्टैंजस दो newlines द्वारा अलग हो जाते हैं। एक अनुगामी न्यूलाइन स्वीकार्य है।
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा कोड है। यह कहा जा रहा है, यह पूरी कविता की संरचना को संक्षिप्त करने के लिए छोटा हो सकता है, लेकिन मैं कुछ समाधानों को देखना चाहता हूं जो पिछले प्रत्येक श्लोक को आधार बनाते हैं।
natural-languageटैग का गुण है । एल्गोरिथ्म एक ही है भले ही इनपुट जिबरिश के छह तार हो।
