เกมWaving Handsอยู่ที่ไหนสักแห่งระหว่าง Magic Pen และ Paper: Gathering และกรรไกรกระดาษ Rock ที่ประณีตมาก ทุกเทิร์นที่คุณเขียนหนึ่งในแปดท่าทางสำหรับแต่ละมือ:
- wiggled
F
ingers - เสนอ
P
alm S
งีบW
AVED
igit ชี้C
ตัก- STA
B
N
othing
มีกฎสำคัญบางประการที่สำคัญกว่าส่วนที่เหลือ:
- หากทั้งสองมือท่าทาง
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
มีสองลำดับที่แตกต่างกัน
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นโดยป้อนข้อมูลในรายการหรือรูปแบบสตริงที่สะดวกผ่าน STDIN อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันตราบใดที่ยังไม่ได้ประมวลผลล่วงหน้า คุณสามารถส่งออกคาถาคู่ผ่านค่าตอบแทนหรือโดยการพิมพ์ไปยัง 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"]]