• 締切済み

Microsoft Visual Studio 2005の関数のことで

Microsoft Visual Studio 2005の関数のことで聞きたいことがあります。 6地点への配達物がある。この5地点を1回だけとおり、移動距離が最小となる巡回順路を求めよ。 6地点の座標は次の通りである。  a(2,2), b(3,3), c(5,4), d(4,2), e(2,5), f(5,0)、ただし、第1番目はaを訪問することとする。 という問題なのですが、どうやってプログラムを書けばいいのかわかりません… 一応、ヒントとして、2地点(x1,y1),(x2,y2)の距離は、√(x1-x2)^2+(y1-y2)^2で算出できるとあります。 そして、もう一つのヒントが、地点a,b,c,d,e,fを1から6の地点とする。 第1の地点、第2の地点。。。第6の地点の地点に対して、1から6を割り当てる。 たとえば、経路として 1-2-3-4-5-6 は一巡の経路になる。一方、1-2-1-3-4-5と なる経路は、a-b-aというように元に戻っているので一巡の経路ではない。 このように、第1の地点に1から6、第2の地点に1から6のように、第1の地点から 第6の地点のそれぞれを1から6の割り当てを行う。この中で、一度、割り当てた地点 が再度割り当てられて場合は、一巡経路でないとして組み合わせから外せば、一巡 経路を求めることができる。その一巡経路の距離を算出し、最短の経路を求めるプロ グラムを作成する。 もうお手上げ状態なので、どなたかわかる方がいましたら、教えて欲しいです。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

数日前の質問を、また繰り返しているのでは。その質問では回答はどうなったのですか。 まず解法のアルゴリズムを自分で、本やWEBで勉強すること。プログラムはそれからのこと。 このコーナーはプログラムのコード作成を下請けする場所じゃない。

関連するQ&A