No.105 arcの六角ボルト
タグ : / 解いたユーザー数 167
作問者 : LayCurse
問題文
毎年の六角ボルトの検査の時間がやって来ました.
あなたは締めた六角ボルトがどれぐらい緩んでしまったかを調べなくてはいけません.
調べなくてはいけない数が多く,写真を画像解析し,六角形の各頂点の座標 $(X_k,Y_k),\ k=1,2,3,4,5,6$ を割り出しました.
六角ボルトは最初は各頂点は,座標 $(1,0), (\frac{1}{2},\frac{\sqrt{3}}{2}), (-\frac{1}{2},\frac{\sqrt{3}}{2}), (-1,0), (-\frac{1}{2},-\frac{\sqrt{3}}{2}), (\frac{1}{2},-\frac{\sqrt{3}}{2})$ でした.
それが原点を中心に反時計回りにどれぐらいの角度だけ緩んでしまったかを求めてください.
六角ボルトはそう簡単には緩まないので,緩んだ角度は $0$ 度以上 $50$ 度未満であると仮定できます.
また,画像解析した結果の座標 $X_k,Y_k$ は誤差を含んでいるかもしれませんが,その誤差は絶対誤差で $10^{-12}$ 以下であると仮定できます.
ただし,$6$ 個の頂点のうち,$(X_k,Y_k)$ がどのような順番に対応するかは不明です.
(反時計回りとは,原点中心に座標 $(1,0)$ の点を反時計回りちょっと回転すると $y$ 座標の値が増える方向です)
(ヒント逆三角関数を使います。誤差に注意してください。)
入力
最初の行にテストケースの数 $T$ が与えられる.
それに続き,$T$ 個のテストケースが以下のフォーマットで与えられる.
また,各テストケースの前に,$1$ 行の空行が含まれる.
$X_1$ $Y_1$ $X_2$ $Y_2$ $X_3$ $Y_3$ $X_4$ $Y_4$ $X_5$ $Y_5$ $X_6$ $Y_6$
$1 \leq T \leq 5000$
$(X_k,Y_k)$ は問題文に書かれた仮定を満たす
出力
各テストケースごとに,六角ボルトが緩んだ角度を,単位は度で,$1$ 行で出力して下さい.
絶対誤差,または,相対誤差が $10^{-6}$ 以下なら正答とみなす.
サンプル
サンプル1
入力
5 -0.7133129374161575 0.7008456701130583 0.7133129374169346 -0.7008456701123590 -0.9636066231566712 -0.2673242895938152 -0.2502936857416224 -0.9681699597070667 0.2502936857411194 0.9681699597067489 0.9636066231574117 0.2673242895944358 -0.8932333349173263 0.4495933822835123 -0.8359759578887596 -0.5487660684032287 0.0572573770290491 -0.9983594506862868 0.8932333349171817 -0.4495933822820707 0.8359759578898414 0.5487660684033163 -0.0572573770283012 0.9983594506864877 0.9160756762470419 0.4010054306221820 -0.1107569481506493 -0.9938475227307060 0.8053187280975752 -0.5928420921090568 -0.9160756762472804 -0.4010054306221356 0.1107569481505570 0.9938475227309645 -0.8053187280979552 0.5928420921086038 -0.1761571570426089 0.9843620553558652 0.1761571570408748 -0.9843620553541855 0.7644039679374461 0.6447376007350949 0.9405611249797644 -0.3396244546214024 -0.9405611249804702 0.3396244546202518 -0.7644039679385255 -0.6447376007346632 -0.4824203438123312 -0.8759398448960606 -0.9997963297728835 -0.0201816494043597 0.5173759859607933 -0.8557581954908735 0.9997963297734225 0.0201816494041266 0.4824203438109312 0.8759398448963396 -0.5173759859611117 0.8557581954911576
出力
15.5051083303987980 33.2824012264609337 23.6410478595644236 40.1460045250132680 1.1564018437638879
サンプル2(2014年12月16日23時40分追加)
入力
5 -0.5000000000001114 0.8660254037853874 0.5000000000008891 -0.8660254037846875 -0.9999999999992328 0.0000000000005249 -0.5000000000002304 -0.8660254037850550 0.4999999999997271 0.8660254037847375 0.9999999999999735 0.0000000000000955 -0.5000000000000689 0.8660254037850319 -0.9999999999997544 0.0000000000007502 -0.4999999999992035 -0.8660254037838273 0.4999999999999247 -0.8660254037835899 1.0000000000008362 -0.0000000000006626 0.4999999999999509 0.8660254037840284 0.9999999999996566 0.0000000000007304 -0.5000000000006523 -0.8660254037851741 0.5000000000001875 -0.8660254037849764 -0.9999999999998951 -0.0000000000006841 0.5000000000005598 0.8660254037854329 -0.5000000000005670 0.8660254037845241 0.4999999999991134 0.8660254037851728 -0.5000000000008475 -0.8660254037834928 0.9999999999993000 0.0000000000009531 0.4999999999998960 -0.8660254037848518 -0.5000000000006016 0.8660254037837012 -1.0000000000003793 -0.0000000000005215 -0.5000000000004399 -0.8660254037845060 -1.0000000000000069 0.0000000000001151 0.4999999999998087 -0.8660254037837942 1.0000000000005458 -0.0000000000003484 0.4999999999990393 0.8660254037847854 -0.5000000000001267 0.8660254037840786
出力
0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。