問題一覧 > 通常問題

No.105 arcの六角ボルト

レベル : / 実行時間制限 : 1ケース 5.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が$10^{-6}$ 以下。ただし、ジャッジ側の都合で500桁未満にしてください
タグ : / 解いたユーザー数 167
作問者 : LayCurseLayCurse
3 ProblemId : 198 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-06-25 01:38:28

問題文

毎年の六角ボルトの検査の時間がやって来ました.
あなたは締めた六角ボルトがどれぐらい緩んでしまったかを調べなくてはいけません.
調べなくてはいけない数が多く,写真を画像解析し,六角形の各頂点の座標 $(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もしくは右上の雲マークをクリックしてアカウントを作成してください。