Hexcellsは、マインスイーパをベースにした六角形のゲームです。(完全な開示:Hexcellsとは何の関係もありません。実際、ゲームはあまり好きではありません。)Hexcellsのルールのほとんどは、Generalized Minesweeper(Minesweeperが任意のグラフで再生)で簡単に表現できます。最も困難なものである{X}
と-X-
ルール。
{X}
ルールは、セルの境界線のことを教えてくれるX
鉱山と鉱山これらの全てが連続した経路で互いに接していること。たとえば、ボードがある場合:
? ?
? {3} ?
? ?
鉱山配置の6つの可能性は
* . . . . . . * * * * *
* {3} . * {3} . . {3} * . {3} * . {3} * * {3} .
* . * * * * . * . . . .
あなたの目標は{3}
、一般化された掃海艇でルールを実装することです。
仕様
Generalized Minesweeperは、任意のグラフで実行される掃海艇です。グラフには、「インジケータ」または「値」という2種類の頂点があります。値はオンまたはオフ(地雷または不発地)のいずれかになりますが、その状態はプレイヤーに知られていません。インジケーターは、隣接する頂点の数(地雷)をプレイヤーに伝え、地雷自体としてはカウントしません。
たとえば、一般的なマインスイーパの次のボードは、セルAとBが両方とも地雷であるか、どちらも地雷ではないことを示しています。
(図ではインジケーターは灰色でマークされ、値は白です)
オフになっている値をクリックしてインジケーターを表示する通常の掃海艇とは異なり、一般化された掃海艇にはそのようなメカニズムはありません。プレーヤーは、グラフのどの状態でインジケータを満たすことができるかを単に決定します。
あなたの目標は、一般化された掃海艇に構造を構築し、6つの特定のセルが、Hexcellsルールに接続されているかのように満たす状態のみを持つことができるようにすること{3}
です。ソリューションを記述するとき、値セルに特定の値を念頭に置いてはいけません。(H.PWizの質問への回答では、一部の値セルが状態から推測可能である可能性がありますが、そのようなセルを削除することで常にスコアを改善できます)
得点
答えは、最終グラフの頂点の数から6(6入力の場合)を引いたものでスコア付けされ、スコアが低いほど良くなります。このメトリックで2つの回答が同点の場合、タイブレーカーはエッジの数になります。
可解性
この問題は解決可能であり、私はこの問題の解決策を持っています。この課題が1週間経過したら投稿します。
{3}
ルール」には、「これらの地雷はすべて連続したパスで互いに隣接しています」と書かれています -エッジがなければパスはありません。
{3}
。接続する必要はありません