• 締切済み

ペグソリティアの解法について

ペグソリティアの解法のレポートを提出しないといけないのですが まったくわかりません・・・ どのような手順で書いていけばいいのでしょうか □□***□□ □□***□□ ******* ******* **** ** □□***□□ □□***□□ (□□は空白部分でそこには動かせないです) 上記のような状態ではじめて、 *を動かして上記のあいている部分に最終的に*が残ればいいのですが、 まずこの問題がとけないです・・・。 どうかお願いします!!教えてください ペグソリティアのルール **□ → □□* 真ん中を飛び越えるように*を動かすと真ん中の*を取り除けます。 上下左右に動かせて斜めは動かせません

みんなの回答

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.3

解の一例を示します。 7×7の盤に番号を付けます。 左の列からA列,B列,C列,・・・,G列 上の段から1段,2段,3段,・・・,7段 C列1段の場所をC1、ペグを動かす操作をC1→C3のように表記します。 初期画面は、E5だけが空いている状態です。 1手目 E7→E5 2手目 C6→E6 3手目 C7→E7 4手目 C4→C6 5手目 A5→C5 6手目 A3→A5 7手目 B3→B5 8手目 C6→C4 9手目 A5→C5 10手目 D3→B3 11手目 C1→C3 12手目 E1→C1 13手目 E2→C2 14手目 B3→D3 15手目 C1→C3 16手目 E4→E2 17手目 G3→E3 18手目 F5→F3 19手目 G5→G3 20手目 E2→E4 21手目 G3→E3 22手目 D5→F5 23手目 E7→E5 24手目 F5→D5 25手目 C5→E5 26手目 D3→F3 27手目 D4→F4 28手目 F3→F5 29手目 F5→D5 30手目 C3→C5 31手目 C5→E5

回答No.2

どんな盤面でもこの手順に従えば解ける、というものを求めているのでしょうか? 力任せに解くだけなら、しらみつぶしでやってしまうかな。 1.盤面で打てる手を列挙 2.打った結果それぞれについて、新しい盤面として作成 3.打てる手がなく、盤面に*が複数残っているなら、失敗として盤面を破棄 #回転、鏡像などで一緒になる盤面どころか、手順が違うだけで同じ盤面というものが在りますから、本来なら適宜枝刈りするのですが。

  • bgm38489
  • ベストアンサー率29% (633/2168)
回答No.1

懐かしい!20年近く前、NECのN88-Basicの時代に、このゲームをプログラミングしたっけ…数学のパズルの本に、ペグソリティアの問題がなんっかのっていたので。 いくら図を眺めていても、解けないよ。プログラミングの暇はないだろうから、オセロか囲碁を使って解いてみたら。まず、最初の手は、2種類しかないね。

関連するQ&A

専門家に質問してみよう