プロが教える店舗&オフィスのセキュリティ対策術

ペグソリティアの解法のレポートを提出しないといけないのですが
まったくわかりません・・・
どのような手順で書いていけばいいのでしょうか

□□***□□
□□***□□
*******
*******
**** **
□□***□□
□□***□□

(□□は空白部分でそこには動かせないです)
上記のような状態ではじめて、
*を動かして上記のあいている部分に最終的に*が残ればいいのですが、
まずこの問題がとけないです・・・。
どうかお願いします!!教えてください

ペグソリティアのルール
**□ → □□*
真ん中を飛び越えるように*を動かすと真ん中の*を取り除けます。
上下左右に動かせて斜めは動かせません

A 回答 (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
    • good
    • 15

どんな盤面でもこの手順に従えば解ける、というものを求めているのでしょうか?


力任せに解くだけなら、しらみつぶしでやってしまうかな。
1.盤面で打てる手を列挙
2.打った結果それぞれについて、新しい盤面として作成
3.打てる手がなく、盤面に*が複数残っているなら、失敗として盤面を破棄

#回転、鏡像などで一緒になる盤面どころか、手順が違うだけで同じ盤面というものが在りますから、本来なら適宜枝刈りするのですが。
    • good
    • 2

懐かしい!20年近く前、NECのN88-Basicの時代に、このゲームをプログラミングしたっけ…数学のパズルの本に、ペグソリティアの問題がなんっかのっていたので。


いくら図を眺めていても、解けないよ。プログラミングの暇はないだろうから、オセロか囲碁を使って解いてみたら。まず、最初の手は、2種類しかないね。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!