• 締切済み

最短ルートの計算

ベーシックカテゴリーで似た質問をしましたが、さっぱり回答がナッシング。 自分なりの方法でやれるのですが、どうも満足できません。 算数は苦手!! 質問なんですが、六角形を交互に敷き詰めたマップがあります。 仮定で六角形に番号をつけます。 六角形マップの中心から右上の六角形に到達する 最短ルートの六角形番号を知る計算が知りたいです。 例えば、答えが[15、8、2)の六角形を通過する。とか。 あ、ちなみに国語もペケの成績でしたので御了承して下さい。

みんなの回答

  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.3

あとは 1) 何通りか図を描いてみる。 2) 一般的な規則を見つける。 3) 漸化式で表すなどして定式化する。 4) 式を整理する。 とい手順で,一般項の番号を表す式を作ることができる。 一辺の六角形の個数をnとする。 中心から右上の六角形までの経路上の番号を a[j](j=1,2,・・・n)で表す。 経路の長さはnである。 a[n]=n a[n-1]=a[n]+n a[n-2]=a[n-2]+(n+1) a[n-3]=a[n-2]+(n+2) ・・・が成立している。 よって a[n-(k+1)]=n+n+(n+1)+(n+2)+・・・+(n+k) =n(k+2)+k(k+1)/2 ここでn-k-1=jと置き換えて a[j]={(n-j+2n)(n-j-1)+4n}/2 と一般的に書ける。

noname#151563
質問者

お礼

ボードゲームを作ってるんです。 索敵範囲はマンマなので、ルート抽出は難しいですね。 算数の基礎がやはり私はペケのようです(>_<) 他力本願。 面倒くさいんで味方a点から敵のb点まで、六角形マスを無視して 直線的にだぁーっと合戦させようかな(-_-;)

noname#151563
質問者

補足

すいません。 解決しませんでした。

  • FT56F001
  • ベストアンサー率59% (355/599)
回答No.2

一辺n=4個としたとき,[19,13,8,4)という番号列が欲しい,ということかな??

noname#151563
質問者

お礼

そうなんです。 国語がペケなので表現が乏しく、すいません。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「番号のつけ方」がまったくわからんので Dijkstra とか言ってみる.

noname#151563
質問者

お礼

算数は難しいですね!! そこまでのレベルの質問ではないです。 回答ありがとうございました。