相手のライブラリの残り枚数が与えられた時、研磨時計を使ってそれを削り切るために、何ターン蓄積カウンターを乗せてから起動するのが最も早いかを求める。ただし他のパーマネントやスペルの影響は一切考えず、相手のライブラリは相手の毎ターン1枚のドローと研磨時計の能力だけで減るものとする。こちらのターンが先に来る。よって最初のターンは必ず「カウンターを乗せる」ことになる。
- 相手のライブラリが0枚なら次のドローで死ぬ。
- 1枚なら次の次のドローで死ぬ(起動するタイミングがない)。
- 2枚以降の場合:カウンターを置く数をc、経過ターン(ただし「自分のターン→相手のターン」のセットで1ターンとする)をtとする。すると削れる数mは m=t+c(t-c)=t+tc-c^2=(c+1)t-c^2 となる。
- 例えば、c=1 のとき m=2t-1、c=2 のとき m=3t-4 であるから t=3 の時に拮抗する。この時 m=5 。
- 以下、c=2 と c=3、c=3 と c=4、……と比べていって交点を求めていき、それぞれについてmを求めればよい。
- c=k と c=k+1 を比べるときそれぞれの式は m=(k+1)t-k^2 と m=(k+2)t-(k+1)^2 になるから辺辺引いて 0=t-(k+1)^2+k^2 → t=(k+1)^2-k^2=2k+1 の時に減った枚数が等しくなる。元の式に代入すると m=(k+1)(2k+1)-k^2=k^2+3k+1。
- あとはこの式に k=1,2,3,……を代入していけば分岐点が出せるよ。
- 途中で割られないように気をつけてね!
全然関係ないけど「辺辺足す(引く)」って言い回しが好き。「へんぺん」って響きもなんかちょっとかわいいし。
以下追記:
- うお、石臼と比較するの忘れてた。まあ毎ターンマナはかかるものの石臼は m=3t という単純な式なので c=3 の m=4t-9 と比較すると t=9、m=27 で交差する……のでこれだと c=4 の範疇になるのか。c=4 だと m=5t-16 だから t=8、m=24 で交差する。これはちょっと面白い数字じゃないかな。構築戦なら、石臼を回し始めるとき、ライブラリが 24 枚以上残ってることは多いと思う。石臼の起動コストと研磨時計の途中で割られるリスクを考えると、うーん、石臼が丸いかー、とも思うのだけど。
- あと、設定の仕方にちと厳密さを欠いた。「ぴったりだと死なない」「次に削ったあとのドローで死ぬ」から、グラフの交点より c+1 枚先に真の分岐点がくるのだね。まあ適当に修正してください。迷ったらカウンター少ない方で起動するのが多分正しい。
- 応用問題:あなたは《研磨時計》のほかに《通電式キー》を(以下問題文略)