問題一覧 > 通常問題

No.2179 Planet Traveler

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 77
作問者 : MasKoaTS / テスター : 👑 potato167 taiga0629kyopro
1 ProblemId : 8306 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-11-28 20:36:40

問題文

二次元平面上の宇宙に 11 個の恒星と 1,2,,N1,2,\dots,N の番号が付いた NN 個の惑星があります。

恒星は常に座標 (0,0)(0,0) にありますが、惑星 ii (1iN)(1 \leq i \leq N) は最初座標 (Xi,Yi)(X_{i}, Y_{i}) に位置し、
TiT_{i} 年ごとに反時計回りに一回転する角速度で、先の恒星を中心とした半径・角速度一定の円運動を行います。

ただし、異なる 22 個の惑星が同じ座標となった場合でも衝突は起きず、上記の軌道は変化しないものとします。

魔法使いのコアさんの目的は、転移魔法を使い、00 個以上の惑星を経由して惑星 11 から惑星 NN へ移動することです。

コアさんの魔法レベルは整数 ss で表され、最初 s=0s=0 です。コアさんが訓練を 11 回行う度に ss11 増加します。
そして、次の条件を満たすならば、またその場合に限り、コアさんは惑星 ii から惑星 jj (1i,jN かつ ij)(1 \leq i,j \leq N \text{ かつ } i \neq j) に直接移動できます。

  • 惑星 i,ji, j 間のユークリッド距離の取り得る最小値が s\sqrt{s} 以下である。

  • 「ユークリッド距離」の定義(クリックで展開)

    二次元平面上の任意の 22P1(x1,y1)P_{1} ( x_{1}, y_{1} ), P2(x2,y2)P_{2} ( x_{2}, y_{2} ) について、
    これら 22 点間のユークリッド距離 L2(P1,P2)L^{2} (P_{1}, P_{2} ) は次のように定義されます。

    • L2(P1,P2):=(x1x2)2+(y1y2)2L^{2} (P_{1}, P_{2} ) := \sqrt{ (x_{1}-x_{2})^{2} + (y_{1}-y_{2})^{2} }

コアさんが先の目的を達成するためには、最小で何回の訓練を行う必要がありますか?

制約

  • 2N8002 \leq N \leq 800

  • 2×104Xi,Yi2×104-2 \times 10^{4} \leq X_{i}, Y_{i} \leq 2 \times 10^{4} (1iN)(1 \leq i \leq N)

  • (Xi,Yi)(0,0)(X_{i}, Y_{i}) \neq (0, 0) (1iN)(1 \leq i \leq N)

  • (Xi,Yi)(Xj,Yj)(X_{i}, Y_{i}) \neq (X_{j}, Y_{j}) (1i<jN)(1 \leq i < j \leq N)

  • 1Ti1091 \leq T_{i} \leq 10^{9} (1iN)(1 \leq i \leq N)

  • 入力はすべて整数

入力

入力は次の形式で与えられます。

NN
X1X_{1} Y1Y_{1} T1T_{1}
X2X_{2} Y2Y_{2} T2T_{2}
     \vdots
XNX_{N} YNY_{N} TNT_{N}
  • 11 行目には NN が与えられる

  • (1+i)(1 + i) (1iN)(1 \leq i \leq N) 行目には Xi,Yi,TiX_{i}, Y_{i}, T_{i} がこの順に半角スペース区切りで与えられる

出力

答えを 11 行に出力してください。

サンプル

サンプル1
入力
3
1 1 3
0 3 4
-5 -5 3
出力
17

例えば、次のような移動経路を考えれば良いです。

  1. 惑星 11 → 惑星 22

  2. 惑星 22 → 惑星 33

このとき、最初の状態からの経過年数を tt とすると、惑星 1,21,2 間のユークリッド距離の最小値 d1d_{1}

d1=32\displaystyle d_{1} = 3 - \sqrt{2} (例えば t=32 のとき)\left( \text{例えば } t=\dfrac{3}{2} \text{ のとき} \right)

惑星 2,32,3 間のユークリッド距離の最小値 d2d_{2}

d2=523\displaystyle d_{2} = 5 \sqrt{2} - 3 (例えば t=152 のとき)\left( \text{例えば } t=\dfrac{15}{2} \text{ のとき} \right)

であり、

max(d1,d2)=5234.07\displaystyle \max(d_{1}, d_{2}) = 5 \sqrt{2} - 3 \approx 4.07

なので、上の経路を採用する場合、ss1717 以上である必要があります。

s<17s < 17 のとき、惑星 11 から惑星 33 への移動経路は存在しません。

サンプル2
入力
4
10 10 100
-1 -1 100
-5 -5 100
3 3 100
出力
98

惑星 11 から惑星 44 に直接移動すれば良いです。

必ずしもすべての惑星を経由する必要はありません。

サンプル3
入力
2
4 3 2
-5 0 5
出力
0

22 個の惑星の座標が等しくなることもあります。

サンプル4
入力
2
20000 20000 1000000000
-20000 -20000 1000000000
出力
3200000000

答えは32bit整数型に収まらない可能性があります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。