(KATAMINOを解くプログラムを作成する)KATAMINOを解くプログラム★前回の記事yucatio.hatenablog.comスタックへデータを投入します。スタックを使用するアルゴリズムについては以下の記事を参照してください。yucatio.hatenablog.com実装フィールドと次に置くことができるピースをスタックへ投入します。スタックsolverStackを定義します。解く対象のピースtargetPieceの各スピンをスタックに投入します。},}ここまでで、スタックの内容は以下のようになっています。ここのままでも解けそうですが、1つ問題点があります。1番のピースの1番のスピンがフィールドに置けたとき、1番のピースはもうこれ以上置くことはできません。ピース番号が分からないため、1番のピース以外を次に置く候補としてスタックに入れることができません。そこでピース番号pieceIdとまだ置かれていないピースの配列unPlacedPieceをスタックに入れる情報に追加します。ピースをフィールドに置いた時に、置いたピースの番号をunPlacedPieceから削除することで同じピースを重複して置くことを防ぎます。デバッグのために、spinIdもスタックに入れます(STEP2でspinIdも使用します)。},}ところで、スタックから取り出した後に、1番番号が小さい(左上の)空白を埋めるようにピースを置いてみるのでした。毎回スタックから取り出すごとに計算するのも面倒なので、フィールドの状態ごとに計算してスタックに入れておくことにしましょう。},}以上でスタックへの初期データの投入が完了しました。「ピーターからの問題」1から9までを使って分数の穴埋め算。(1)はてなブログをはじめよう!yucatioさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。