問題一覧 > 通常問題

No.1932 動く点 P / Moving Point P

レベル : / 実行時間制限 : 1ケース 6.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が10310^{-3} 以下。ただし、ジャッジ側の都合で500桁未満にしてください
タグ : / 解いたユーザー数 39
作問者 : null / テスター : Rho
0 ProblemId : 3994 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2022-05-06 23:04:05

問題文

座標平面上の (xj,yj)(x_j, y_j) に点 Pj{\rm P}_j があります。(1jQ1 \le j \le Q)
null くんは i(1iN)i(1 \le i \le N) 番目の操作では、点を (pi,qi)(p_i, q_i) を中心に rir_i^\circ 反時計回りに回転させます。(角度は度数法で与えられることに注意してください。)
この操作を sjs_j 番目の操作から tjt_j 番目の操作まで のみ 順番に Pj{\rm P}_j に行ったときの最終的な Pj{\rm P}_j の座標を各 jj について求めてください。

制約

  • 1N,Q1051 \le N, Q \le 10^5
  • 1000pi,qi,xj,yj1000-1000 \le p_i, q_i, x_j, y_j \le 1000
  • 360ri360-360 \le r_i \le 360
  • 1sjtjN1 \le s_j \le t_j \le N (22:07 修正)
  • N,Q,sj,tjN, Q, s_j, t_j は整数である。
  • pi,qi,ri,xj,yjp_i, q_i, r_i, x_j, y_j は小数点以下 66 桁まで与えられる。

入力

NN
p1 q1 r1p_1\ q_1\ r_1
p2 q2 r2p_2\ q_2\ r_2
\dots
pN qN rNp_N\ q_N\ r_N
QQ
s1 t1 x1 y1s_1\ t_1\ x_1\ y_1
s2 t2 x2 y2s_2\ t_2\ x_2\ y_2
\dots
sQ tQ xQ yQs_Q\ t_Q\ x_Q\ y_Q

出力

jj 行目に sjs_j 番目の操作から tjt_j 番目の操作まで のみ 順番に Pj{\rm P}_j に行ったときの最終的な Pj{\rm P}_j の座標を空白区切りに一行に出力してください。

想定解との絶対誤差または相対誤差の小さい方が 10310^{-3} であるとき、正答となります。(23:04 修正)

サンプル

サンプル1
入力
5
0.000000 0.000000 90.000000
1.000000 1.000000 180.000000
133.000000 333.000000 0.000000
367.092893 80.084048 -75.124327
842.043304 429.624441 0.066603
5
1 1 0.000000 0.000000
2 2 0.000000 0.000000
1 2 0.000000 0.000000
1 4 123.000000 456.900000
2 4 0.127890 0.123490
出力
0.000000 0.000000
2.000000 2.000000
2.000000 2.000000
196.317090 -60.268951
197.746090 412.986886

11 番目の出力について、(0,0)(0,0)(0,0)(0,0) を中心に 9090^\circ 回した座標は (0,0)(0,0) です。
22 番目の出力について、(0,0)(0,0)(1,1)(1,1) を中心に 180180^\circ 回した座標は (2,2)(2,2) です。
33 番目の出力について、上記二つの操作を順番に行った座標は (2,2)(2,2) です。

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