ゲーム「手を振る」は、ペンと紙のマジック「ザギャザリング」と非常に精巧な「じゃんけん」の中間にあります。ターンごとに、手ごとに8つのジェスチャーのいずれかを書き留めます。
- ウィグル
F
ingers P
提案されたアルムS
昼寝W
アベニューD
IgitポインティングC
ラップ- sta
B
N
何もない
他のルールよりも優先される重要なルールはほとんどありません。
- 両手でジェスチャーを
P
すると自動的に降伏します。(これは簡略化ですが、それで行きます。) - 一度に1つの手だけがジェスチャーでき
B
ます。
同じ手で実行される一連のジェスチャーは、各呪文が1つの特定のシーケンスに関連付けられている呪文をキャストできます。これらのシーケンスは重複する場合がありますが、各ジェスチャーは単一の呪文の最後のジェスチャーとしてのみ使用できます(したがって、1ターンで最大2つの呪文を作成できます)。一部の呪文では、両手で同時にジェスチャーを行う必要があります。
あなたの仕事は、各手に対するジェスチャーのリストを与えられて、現在のターンにどの呪文が唱えられるかを決定することです。それぞれの手について、リストの最後の文字は現在のターンで選択されたジェスチャーを表しています。
これがジェスチャーシーケンスのリストです。大文字は片手で行われるジェスチャーを指し、小文字は両手で行われるジェスチャーを指します。
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
同時に2つの手で実行されることはありません)。入力には大文字のみが含まれることに注意してください。小文字は上記のリストでのみ使用され、両手が同じ(大文字の)ジェスチャーを実行する必要があることを示しています。
両手ジェスチャーで終わる呪文の場合は、単一の呪文を出力する必要があります。片手が呪文を実行できない場合、これはハイフンのみを含む文字列で示す必要があります-
。
これはコードゴルフなので、最も短い答え(バイト単位)が勝ちます。
例
各例は、3つの行で構成されています:左側のシーケンス、右側のシーケンス(両方の入力。最も右側のジェスチャーは最新のものです)、および可能なすべてのスペルの組み合わせのリスト(出力)。
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"]]