Rabbit Jumping (AOJ 2384)

http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2384
設計:40分 実装:50分 デバッグ:1時間

問題

うさぎがk匹、岩がn個ある。うさぎは初期位置から岩を順に飛んでいってそれぞれの目的地に行きたい。ただし他のうさぎが踏んだ岩を踏むことは出来ず、下流に飛ぶことも出来ない。また岩が直線上に複数個あるときは最初の岩に必ず着地しなければならない。うさぎたちの移動距離の合計の最小値を求めよ。
1<=k<=3
1<=n<=100
うさぎが飛べる距離<=10,000.0
岩の座標<=10,000

解法

解説参照。なんかTLEしたのでA*に切り替えた。
うまい設計を考えないと複数のうさぎが横に並んだ時に実装が複雑になるので注意すること。