atcoder#ABC274E. [ABC274E] Booster

[ABC274E] Booster

配点 : 500500

問題文

22 次元平面上に NN 個の街と MM 個の宝箱があります。街 ii は座標 (Xi,Yi)(X_i,Y_i) に、宝箱 ii は座標 (Pi,Qi)(P_i,Q_i) にあります。

高橋君は原点を出発し、NN 個の街全てを訪れたのち原点に戻る旅行をしようと考えています。 宝箱を訪れる必要はありませんが、宝箱の中にはそれぞれブースターが 11 つあり、ブースターを拾うごとに移動速度が 22 倍になります。

高橋君の最初の移動速度が単位時間あたり 11 であるとき、旅行にかかる時間の最小値を求めてください。

制約

  • 1N121 \leq N \leq 12
  • 0M50 \leq M \leq 5
  • 109Xi,Yi,Pi,Qi109-10^9 \leq X_i,Y_i,P_i,Q_i \leq 10^9
  • (0,0),(Xi,Yi),(Pi,Qi)(0,0),(X_i,Y_i),(P_i,Q_i) は相異なる
  • 入力は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN MM

X1X_1 Y1Y_1

\vdots

XNX_N YNY_N

P1P_1 Q1Q_1

\vdots

PMP_M QMQ_M

出力

答えを出力せよ。なお、想定解答との絶対誤差または相対誤差が 10610^{-6} 以下であれば正解として扱われる。

2 1
1 1
0 1
1 0
2.5000000000

以下のように移動するのが最適解の一つです。

  • 原点から宝箱 11 までの距離 11 を速さ 11 で移動する。時間が 11 かかる
  • 宝箱 11 から街 11 までの距離 11 を速さ 22 で移動する。時間が 0.50.5 かかる
  • 11 から街 22までの距離 11 を速さ 22 で移動する。時間が 0.50.5 かかる
  • 22から原点までの距離 11 を速さ 22 で移動する。時間が 0.50.5 かかる
2 1
1 1
0 1
100 0
3.4142135624

以下のように移動するのが最適解の一つです。

  • 原点 から街 11 までの距離 1.411.41\ldots を速さ 11 で移動する。時間が 1.411.41\ldots かかる
  • 11 から街 22 までの距離 11 を速さ 11 で移動する。時間が 11 かかる
  • 22 から原点までの距離 11 を速さ 11 で移動する。時間が 11 かかる
1 2
4 4
1 0
0 1
4.3713203436

以下のように移動するのが最適解の一つです。

  • 原点から宝箱 11 までの距離 11 を速さ 11 で移動する。時間が 11 かかる
  • 宝箱 11 から宝箱 22 までの距離 1.411.41\ldots を速さ 22 で移動する。時間が 0.7070.707\ldots かかる
  • 宝箱 22 から街 11 までの距離 55 を速さ 44 で移動する。時間が 1.251.25 かかる
  • 11 から原点までの距離 5.655.65\ldots を速さ 44 で移動する。時間が 1.411.41\ldots かかる