11

1998東大(ゲーム)の解説

1394
0
$$\newcommand{b}[0]{\bullet} \newcommand{sgn}[0]{\operatorname{sgn}} \newcommand{w}[0]{\circ} $$

ナマリカルテ さん作成の 大学入試史上最も難しい伝説の問題をパズルゲームにしたとき、このゲームをクリアせよ。(1998東大) について、自分の知っている範囲でコツなどの解説を行います。ここに書かれていないもので重要なテクニックなどがあれば教えてくださると幸いです。

ルール

ルールは以下の通りです。(ゲーム内の説明を引用)

操作1: 〇のとなりに新しい〇をつなげるともとの〇の色が反転する。
操作2: 線の間に〇を置くと両側の〇の色が反転する。

元の問題の解法

J. Koizumiさんの解法 がわかりやすかったです。
白黒の〇の列を$1,2$からなる数列に対応させる考え方は本解説内で使用するので先に読んでおくことを推奨します。

1次元の場合

J. Koizumiさんの解法 を参考に白黒の配列と$1,2$の配列を対応させます。

白黒の配列について、以下は同値である。

  • 対応する$1,2$の配列の総和が$\bmod 3$$0$にならず、白丸を$1$個以上含む。
  • 白丸が$1$個の状態から操作1と操作2を繰り返して作ることができる。

白黒の配列に$1,2$の配列を対応させる方法は、左端を$1$にするものと$2$にするものとで$2$通りありますが、どちらを選んでも総和が$\bmod 3$$0$になるかどうかは変わりません。

白丸が$1$個の状態から操作1と操作2を繰り返して作ることができることを単に「作れる」と呼びます。

白丸$1$個の状態から始めて作れるような配列では対応する$1,2$の総和が$0$でないことは元の問題の解答からわかる。また、黒丸だけからなるものが作れないことは操作により白丸が追加されることからわかる。
上の条件をみたすときに白丸1個の状態から作ることができることを配列の長さの帰納法で示す。
長さ$1$の配列については明らかである。
以下、$B,W$はそれぞれ黒丸、白丸を表す。$X$は色を限定しない丸を表し、$X^\prime$$X$と逆の色の丸であるとする。

  • 配列が$W$のみからなる場合
    $W$の個数を$n$とする。$n=2$のときは対応する$1,2$の配列の総和が$0$となるので、$n\geq 3$である。
    $-W-B\underset{(1)}{\longrightarrow}-W-W-W$
    であるため、$W$の個数を$0$にしないままより短い配列に帰着できる。
  • 配列に$W$$B$がどちらも含まれる場合
    このとき、$W$$B$が隣り合う部分が存在する。
    $-X^\prime-W-\underset{(2)}{\longrightarrow}-X-W-B-$
    であるため、$W$の個数を$0$にしないままより短い配列に帰着できる。
以上より、定理1が示された。

定理1により、$1$次元の配列に対し、作れるかどうかの判定基準を与えることができました。定理1の系をいくつか挙げておきます。

$3n+2$個の$W$からなる配列は作ることができない。

長さ奇数の配列で奇数番目がすべて$B$であるようなものは作ることができない。

長さ奇数の左右対称な配列で、中央が$B$であるものは作ることができない。

$S_1,S_2$が作れない配列のとき、$S_1-X-S_2$も作ることができない。ただし、偶数個の$B$のみからなる配列はここでは作れるとしている。

$S_1$が作れる配列で$S_2$が作れない配列のとき、$S_1-X-S_2$は作ることができる。ただし、偶数個の$B$のみからなる配列はここでは作れるとしている。

2次元の場合の準備

操作2をどう扱うか

このゲームでは、色の配列から操作を逆算することで目的の図形を作る必要があります。しかし、操作2は、両隣の色を反転させながら間に白を入れるというものなので、逆算するのに時間がかかります。
そこで、以下の例をご覧ください。
$\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]\\&\w\ar@{-}[d]\\\w\ar@{-}[r]&\b} \end{xy}$$\underset{(1)}{\longrightarrow}$$\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]\\&\w\ar@{-}[d]\\\w\ar@{-}[r]&\w\ar@{-}[r]&\w} \end{xy}$$\underset{(2)}{\longrightarrow}$$\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]\\&\w\ar@{-}[d]\\\w\ar@{-}[r]&\b\ar@{-}[r]&\w\ar@{-}[r]&\b} \end{xy}$
この例は、操作1→操作2の順に行って $\w-\b$ を付加できることを示しています。操作2の逆算は難しいですが、このように複数の操作をひとまとめにすることで逆算が簡単になることがあります。このような一連の操作をたくさん覚えることが高得点を取るには欠かせません。

基本の操作

$WB\cdots B$ ($B$が奇数個)は根の色を変えずに付加でき、$WB\cdots B$ ($B$が偶数個)を付加すると根の色が変わります。
\begin{align} -X\underset{(1)}{\longrightarrow}-X^\prime-W\underset{(2)}{\longrightarrow}-X-W-B\underset{(2)}{\longrightarrow}-X^\prime-W-B-B\underset{(2)}{\longrightarrow}-X-W-B-B-B\underset{(2)}{\longrightarrow}\cdots \end{align}

$BWW$$WWW$は根の色を変えずに付加できます。
\begin{align} -X\underset{(1)}{\longrightarrow}-X^\prime-W \underset{(2)}{\longrightarrow}-X-W-B \underset{(1)}{\longrightarrow}-X-W-W-W \end{align}
\begin{align} -X\underset{(1)}{\longrightarrow}-X^\prime-W \underset{(2)}{\longrightarrow}-X-W-B \underset{(2)}{\longrightarrow}-X-B-W-W \end{align}

端の$W$$B\cdots BW$に変えられます。
\begin{align} -W\underset{(1)}{\longrightarrow}-B-W\underset{(1)}{\longrightarrow}-B-B-W\underset{(1)}{\longrightarrow}-B-B-B-W\underset{(1)}{\longrightarrow}\cdots \end{align}

$W$の隣に$BB$を入れられます。
\begin{align} -X-W-Y-\underset{(2)}{\longrightarrow}-X^\prime-W-B-Y-\underset{(2)}{\longrightarrow}-X-W-B-B-Y- \end{align}
\begin{align} -X-W-Y-\underset{(2)}{\longrightarrow}-X-B-W-Y^\prime-\underset{(2)}{\longrightarrow}-X-B-B-W-Y- \end{align}
これらを組み合わせることで以下のものは作れます。

根の色を変えないもの

\begin{align}-X\longrightarrow-X-W-B\end{align}
\begin{align}-X\longrightarrow-X-W-W-W\end{align}
\begin{align}-X\longrightarrow-X-B-W-W\end{align}
\begin{align}-X\longrightarrow-X-W-W-B-W\end{align}
\begin{align}-X\longrightarrow-X-W-B-W-B\end{align}
\begin{align}-X\longrightarrow-X-W-B-B-B\end{align}
\begin{align}-X\longrightarrow-X-B-W-B-W\end{align}
\begin{align}-X\longrightarrow-X-B-B-W-B\end{align}

根の色を変えるもの

\begin{align}-X\longrightarrow-X^\prime-W\end{align}
\begin{align}-X\longrightarrow-X^\prime-B-W\end{align}
\begin{align}-X\longrightarrow-X^\prime-W-W-B\end{align}
\begin{align}-X\longrightarrow-X^\prime-W-B-B\end{align}
\begin{align}-X\longrightarrow-X^\prime-B-B-W\end{align}
\begin{align}-X\longrightarrow-X^\prime-W-W-W-W\end{align}
\begin{align}-X\longrightarrow-X^\prime-W-B-W-W\end{align}
\begin{align}-X\longrightarrow-X^\prime-B-W-W-B\end{align}
\begin{align}-X\longrightarrow-X^\prime-B-W-B-B\end{align}
\begin{align}-X\longrightarrow-X^\prime-B-B-B-W\end{align}

一般論

1次元の配列$S$に対して以下が成り立つ。

  • 根の色を変えずに$S$を(右から)付加できる$\iff$白丸を$1$個以上含み、左端が$1$になるように$1,2$の配列を対応させたとき、その総和が$1$になる
  • 根の色を変えて$S$を(右から)付加できる$\iff$左端が$1$になるように$1,2$の配列を対応させたとき、その総和が$2$になる

定理1と同様、黒丸だけからなるものは$\bmod 3$で弾けないため、例外となっています。
定理1では白黒の配列を$1,2$の配列に対応させる方法はどちらでもいいとしていましたが、ここでは左端が$1$であるもののみを考えています。これは、付加するときは片方の端が固定されていて左端の整数が変わらないことに由来します。

証明は省略します。また、以下が成り立ちます。

$S_1$を、根の色を変えずに付加できる配列とする。
このとき、$S-S_1$が作れることは$S$が作れることと同値である。ただし、$S$$B$のみからなる場合は除く。

2次元の場合

今までに説明したことを組み合わせると2次元の場合にも対処することができます。何を付加するすればいいかを逆算することでより小さい盤面に帰着するというのが基本の考え方です。以下の例がわかりやすいと思います。
$\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]&\w\ar@{-}[r]&\b\ar@{-}[r]&\w\ar@{-}[r]&\b} \end{xy}$$\underset{}{\longrightarrow}$$\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]&&&\b\ar@{-}[d]\\ &\b\ar@{-}[d]&&&\w\ar@{-}[d]\\ \w\ar@{-}[r]&\b\ar@{-}[r]&\w\ar@{-}[r]&\w\ar@{-}[r]&\b\\ &&\w\ar@{-}[u]&&} \end{xy}$

注意すべき配置

このゲームでは、問題で与えられる図形には辺が書かれていないので辺を自分で復元する必要があります。復元の仕方が一意に定まらないものをいくつか挙げます。
\begin{align}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[d]&\w\ar@{-}[d]&\w\ar@{-}[d]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]&\w\ar@{-}[d]&\w\ar@{-}[l]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\end{align}

\begin{align}\begin{xy} \xymatrix@=5pt{\b\ar@{-}[r]&\w\ar@{-}[r]&\w\ar@{-}[d]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{\b\ar@{-}[d]&\w\ar@{-}[l]&\w\ar@{-}[d]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\end{align}

\begin{align}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]&\b\ar@{-}[d]&\w\ar@{-}[d]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[d]&\b\ar@{-}[d]&\w\ar@{-}[l]\\ * \ar@{-}[r]&* \ar@{-}[r]&*} \end{xy}\end{align}

\begin{align}\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]\\ &\w\ar@{-}[d]\\ \w\ar@{-}[d]&\w\ar@{-}[d]\\ * \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{&\w\ar@{-}[d]\\ &\w\ar@{-}[d]\\ \w\ar@{-}[r]&\w\ar@{-}[d]\\ * \ar@{-}[r]&*} \end{xy}\end{align}

\begin{align}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]&\w\ar@{-}[d]\\ \w\ar@{-}[d]&\w\ar@{-}[d]\\ * \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[d]&\w\ar@{-}[l]\\ \w\ar@{-}[d]&\w\ar@{-}[d]\\ * \ar@{-}[r]&*} \end{xy}\end{align}

\begin{align}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]\ar@{-}[d]&\b\ar@{-}[d]\\ \w\ar@{-}[d]&\w\\ * \ar@{-}[r]&*} \end{xy}\phantom{{}={}}\begin{xy} \xymatrix@=5pt{\w\ar@{-}[r]&\b\ar@{-}[d]\\ \w\ar@{-}[r]&\w\ar@{-}[d]\\ * \ar@{-}[r]&*} \end{xy}\end{align}
そのほか、このように、はじめからあった丸が長い直線上にないタイプは盲点になりやすいです。
\begin{align}\begin{xy} \xymatrix@=5pt{&\b\ar@{-}[d]&\w\ar@{-}[d]\\ \w\ar@{-}[r]&\b\ar@{-}[r]&\b\ar@{-}[r]&\b} \end{xy}\end{align}
下のように辺を張ってしまうと沼にはまります。
\begin{align}\begin{xy} \xymatrix@=5pt{&\b\ar@{-}[d]&\w\ar@{-}[l]\\ \w\ar@{-}[r]&\b\ar@{-}[r]&\b\ar@{-}[r]&\b} \end{xy}\end{align}

最後に

自分の知っている範囲のことは一通り書けたと思いますが、結局のところ、このゲームは時間との勝負なので、何度もプレイして慣れることが何より大切だと思います。時間回復のシステムも絶妙で、プレイを重ねるうちに自分の成長を実感できて楽しいです。この記事を読んだ皆さんが高得点を取れることを願っています。

おまけ ゲームシステムについて

$n$個の〇からなる図形を作ると$n$点が加算されて制限時間が$n$秒増えるので、得点とプレイ時間はおよそ一致します。
また、何問目に何個の〇からなる図形が出題されるかは固定されており、以下の表のようになっています。(したがって、得点の大小は解いた問題の数の大小と一致します。)

a-b問目〇の個数b問目終了時の点数
1-6318
7-14450
15-245100
25-366172
37-507270
51-668398
67-849560
85-10410760
投稿日:511
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

tria_math
tria_math
565
50352
大学3年生

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中