गेम वेविंग हैंड्स एक पेन-एंड-पेपर मैजिक के बीच कहीं है: गैदरिंग और एक बहुत विस्तृत रॉक पेपर कैंची। आप प्रत्येक हाथ के लिए आठ इशारों में से एक लिखते हैं:
- wiggled
FIngers - proffered
Palm SझपकीWएवेन्यूDइजी इशारा कर रहा हैCगोद- स्टेशन
B Nothing
कुछ महत्वपूर्ण नियम हैं जो बाकी पर पूर्वता लेते हैं:
- यदि दोनों हाथ इशारा करते हैं
Pतो आप स्वचालित रूप से आत्मसमर्पण कर देते हैं । (यह एक सरलीकरण है, लेकिन हम इसके साथ जाएंगे।) - एक समय में केवल एक हाथ इशारा कर सकता है
B।
एक ही हाथ से किए गए इशारों की एक श्रृंखला एक जादू कर सकती है, जहां प्रत्येक मंत्र एक विशेष अनुक्रम से बंधा होता है। ये क्रम ओवरलैप कर सकते हैं, लेकिन प्रत्येक इशारे को केवल एक ही जादू के अंतिम संकेत के रूप में इस्तेमाल किया जा सकता है (इसलिए आप एक ही बारी में दो मंत्र तक बना सकते हैं)। कुछ मंत्रों को एक साथ दोनों हाथों से बनाने के लिए इशारे की आवश्यकता होती है।
आपका कार्य है, प्रत्येक हाथ के इशारों की एक सूची दी गई है, यह निर्धारित करने के लिए कि वर्तमान मोड़ में कौन से मंत्र डाले जा सकते हैं। प्रत्येक हाथ के लिए, सूची में अंतिम अक्षर वर्तमान मोड़ के लिए चुने गए इशारे का प्रतिनिधित्व करता है।
यहां इशारा अनुक्रमों की सूची दी गई है। ऊपरी मामले के पत्र एक हाथ से किए गए एक इशारे का उल्लेख करते हैं, निचले मामले के पत्र दोनों हाथों से किए गए एक इशारे का उल्लेख करते हैं।
B Stab
cDPW Dispel magic
cSWWS Summon elemental
cw Magic mirror
DFFDD Lightning bolt
DFPW Cure heavy wounds
DFW Cure light wounds
DPP Amnesia
DSF Confusion
DSFFFc Disease
DWFFd Blindness
DWSSSP Delayed effect
DWWFWc Raise dead
DWWFWD Poison
FFF Paralysis
FPSFW Summon troll
FSSDD Fireball
P Shield
p Surrender
PDWP Remove enchantment
PPws Invisibility
PSDD Charm monster
PSDF Charm person
PSFW Summon ogre
PWPFSSSD Finger of death
PWPWWc Haste
SD Missile
SFW Summon goblin
SPF Antispell
SPFPSDW Permanency
SPPc Time stop
SSFP Resist cold
SWD Fear
SWWc Fire storm
WDDc Lightning bolt
WFP Cause light wounds
WFPSFW Summon giant
WPFD Cause heavy wounds
WPP Counterspell
WSSc Ice storm
WWFP Resist heat
WWP Protection from evil
WWS Counterspell
हां, Lightning boltऔर Counterspellदो अलग-अलग क्रम हैं।
आप किसी भी सुविधाजनक सूची या स्ट्रिंग प्रारूप में इनपुट लेते हुए एक प्रोग्राम या फ़ंक्शन लिख सकते हैं, जब तक कि यह पूर्व-संसाधित नहीं है, तब तक कमांड-लाइन तर्क या फ़ंक्शन तर्क। आप रिटर्न के जरिए या STDOUT पर प्रिंट करके मंत्रों के जोड़े बना सकते हैं। फिर से, आप किसी भी सुविधाजनक सूची या स्ट्रिंग प्रारूप का उपयोग कर सकते हैं, जब तक कि आउटपुट अस्पष्ट है।
आप मान सकते हैं कि बाएं और दाएं हाथ के लिए अनुक्रम समान लंबाई हैं, और वे वैध हैं (विशेष रूप से, Bएक ही समय में दो हाथों से कभी नहीं किया जाएगा)। ध्यान दें कि इनपुट में केवल ऊपरी केस अक्षर होंगे। लोअर केस लेटर्स का उपयोग उपरोक्त सूची में केवल यह बताने के लिए किया जाता है कि दोनों हाथों को समान (अपर-केस) इशारे करने की आवश्यकता है।
मंत्र के लिए जो दो-हाथ के इशारे पर समाप्त होता है, आपको बस एक ही वर्तनी का उत्पादन करना चाहिए। यदि एक हाथ एक जादू नहीं कर सकता है, तो यह केवल एक हाइफ़न युक्त स्ट्रिंग द्वारा इंगित किया जाना चाहिए -।
यह कोड गोल्फ है, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
उदाहरण
प्रत्येक उदाहरण में तीन पंक्तियाँ होती हैं: बाएँ हाथ का क्रम, दाएँ हाथ का क्रम (दोनों इनपुट; सबसे दायाँ इशारा सबसे हाल का है), और सभी संभव वर्तनी संयोजनों की सूची (आउटपुट)।
WFP
WWS
[["Cause light wounds","Counterspell"],["Shield","Counterspell"]]
SD
BB
[["Missile","Stab"]]
WWP
WPP
[["Surrender"]]
DFW
CCW
[["Cure light wounds","-"]]
FFW
WWF
[["-","-"]]
DCW
CCW
[["Magic mirror"]]
WFPSFW
PPDDPP
[["Summon goblin","Shield"],["Summon ogre","Shield"],["Summon troll","Shield"],
["Summon giant","Shield"],["Summon goblin","Amnesia"],["Summon ogre","Amnesia"],
["Summon troll","Amnesia"],["Summon giant","Amnesia"]]
BSWWS
CSWWS
[["Counterspell","Counterspell"]]
CSWWS
CSWWS
[["Counterspell","Counterspell"],["Counterspell","Summon elemental"],
["Summon elemental","Counterspell"],["Summon elemental","Summon elemental"]]
PWPWWC
BBSPPC
[["Haste"],["Time stop"]]