
迷路プログラムの応用問題なのですが、上手くいかずに困っています。
問題
2次配列を用いて、縦横X,Yマスの迷路を作ります。
マスの数はX,Y共に最大100までの値であれば、任意の数が振れます。
迷路の一番左下がスタートS、一番右上がゴールGになります。
マスへは上下左右にしか移動出来ません。
迷路の中には任意で入力したXマスがあり、Xが入っているマスには移動出来ません。
S,G,Xが入っていないマスには、1~9までの数字を任意に入力します。
それぞれの数字は、そのマスに移動するためにかかるコストを表しています。
スタートからゴールまで、コストがもっとも小さくすむルートのコストを出力するプログラムを作りたいです。
また、Xマスでゴールが不可能な場合は-1を返します。
単純にゴールを目指すのと違い、コストがあると遠回りをしなければならない可能性があるので、そのアルゴリズムが思いつきませんでした。
例 11*7マスの迷路の場合
マスの数:11 7
迷路の値の入力:
7 9 3 3 6 3 X X 7 9 G
1 1 3 2 6 6 8 4 8 4 5
7 2 9 1 3 4 8 4 9 8 9
9 7 4 2 5 X 8 6 9 9 4
4 7 3 8 X 8 X 5 7 X 7
1 7 1 8 5 6 5 9 5 6 2
S 5 5 2 9 4 2 2 9 5 1
出力:
最小コストは59
迷路からゴールに進むだけのプログラムは作れたのですが、応用問題としてコストが入ると急に難しくなりました。
コストが絡むとどういうアルゴリズムで動けばいいのか分かりません。アドバイスをお願いします。
No.2ベストアンサー
- 回答日時:
「迷路」と思うと難しいかもしれないけど, よく考えるとただの「最短経路探索」です. これにもいろいろな方法があるけど, コストが全
て正なら Dijkstra のアルゴリズムが普通だと思います.お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正しい五十音順について
-
L1 ⊆ L2であるか確認できるアル...
-
Dijkstraて
-
ゲームプログラミングC/C++、SR...
-
OpenCVのライセンスについて
-
Stuck
-
ドロネー三角形のプログラム
-
脳内メーカーのようなサービス...
-
ハッシュアルゴリズム
-
経路探索について
-
ファイルの開き方
-
Bluestacks内でダウンロードし...
-
VBAで仕様書は書きますか?
-
OS入ってる機器のソフト・アプ...
-
65536は2の何乗なのでしょうか?
-
C言語についてです。 再帰を使...
-
あるプログラムのコマンドライ...
-
バッチファイルでUSB挿入時に実行
-
io.hをincludeするとそのような...
-
CRC8を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正しい五十音順について
-
C♯で電卓を作成しています。演...
-
一番近い組み合わせを見つけるには
-
シードを考慮したトーナメント...
-
アルゴリズムとプロトコールの違い
-
グループを均等に分けるには?...
-
多変数関数の最小値を求めるプ...
-
期間重複チェックがわかりません
-
プログラミングをしたいのです...
-
5人のテストの点数を入力すると...
-
ハノイの塔のさいきアルゴリズ...
-
マージソートの比較回数の計算...
-
トップダウン解析とボトムアッ...
-
ハッシュアルゴリズム
-
diffのアルゴリズムについて詳...
-
フリーセルの難易度について
-
C# 再帰よるスタックオーバー...
-
書籍のソースコードを別言語に...
-
最大公約数を求めたい!
-
複数の点を最短距離で全て繋ぐ...
おすすめ情報