問題一覧 > 通常問題

No.2831 Cos Bomb Crasher

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / リアクティブ問題 (詳しくはこちら
タグ : / 解いたユーザー数 8
作問者 : ねしんねしん / テスター : 👑 p-adicp-adic
0 ProblemId : 11128 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-02 23:47:02

問題文

ある町では$2N \times 2N$の面積を持つスイカ畑が存在しています。このスイカ畑は正方形の形をしており、座標$(-N,-N)$と座標$(N,N)$を結ぶ線分が対角線となるように位置しています。また、スイカ畑の内部(境界線を含む)にある各格子点の位置にスイカが$1$個ずつ存在しています。
この町に訪れた星の戦士はスイカが大好物です。吸い込んでスイカを食べようとしたところある違和感に気付きました。座標$(0,0)$にあるはずのスイカがなく、代わりにスイカの形をした爆弾がありました。
このことから、町にスイカのすり替えに関する目撃者を探しに行ったところ以下の証言が得られました。
・大王がスイカ畑のスイカを$3$つ爆弾とすり替えた。また、爆弾は$3$つしかすり替えられていない。以降爆弾の座標を$O,A,B$とし、原点の爆弾の座標を$O$とする。
・三角形$OAB$は$\angle AOB$が直角である直角三角形である。
また$(0,0)$以外のスイカ爆弾を見つけたいという話をしたら聞き込みの途中で探査機をもらうことが出来ました。この道具はある座標$X$を指定すると以下の様に動作します。
・$\cos \angle AXB$の符号と、$\cos^2 \angle AXB$を出力する。
星の戦士である彼はコピー能力を使うことができます。具体的には、どくろの模様がある爆弾の形をした魔物を吸い込んで、ある座標$(x,y)$と半径$r$を選び、座標$(x,y)$を中心に半径$r$の円の内側(境界線を含む)にあるものをすべて消滅させます。
彼には爆弾を除去する際、いくつかの要望があります。
・爆弾は危険なので$O,A,B$にある爆弾をすべて消滅させたい。
・コピー能力にも限界があり$1$回しか使えず、またスイカをできるだけ残したいため$r$はできるだけ小さくしたい。
探査機を$300$回まで使い、上記のすべての要望を満たす座標と半径を見つけ彼に教えてあげてください。ただし、半径は$2$乗した値で出力してください。なお、この制約により、要望をすべて満たす座標と半径はただ$1$つのみです。

入力

$N$

・$3 \leq N \leq 10^8$
・$N$は整数
また隠された座標$A(x_A,y_A)$と$B(x_B,y_B)$は以下を満たします。
・$A,B$はプログラム同士の対話前に固定
・$-N \leq x_A,x_B,y_A,y_B \leq N$
・$A,B$は格子点
・$O,A,B$は一直線上に存在しない
・三角形$OAB$は$\angle AOB =\frac{\pi}{2}$の直角三角形である

出力

座標$Z(x_Z,y_Z)$で探査機を使うクエリーでは以下の様に出力してください。クエリー回数が$300$回を超すと不正解です。

$1 \ x_Z \ y_Z$
この時、以下の制約を満たしてください。満たしていない場合のジャッジは未定です。
・$-10^9 \leq x_Z,y_Z \leq 10^9$
・$x_Z,y_Z$ともに小数点以下の桁数が高々$9$桁
また、ジャッジ側からクエリーに対する答えが以下の様に与えられます。
$P \ u \ v$
$X,A,B$がすべて異なれば$P$は-+0のいずれかであり、それぞれ、$\cos \angle AXB$の符号が負、正、$0$であることを意味します。$u,v$は整数で、$\cos^2 \angle AXB=\frac{u}{v}$となります。また$v$が正である既約分数表示に限られます。そうでない場合$P$は?で$u,v=0$となります。
ただし、$v>10^{18}$となる場合、$u,v$は$1\leq v \leq 10^{18}$になるように有理数近似が行われたものが返されます。
また、条件を満たす座標$ANS(x_{ANS},y_{ANS})$と半径の$2$乗$r^2$を出力する際は以下の様に出力してください。この出力が終わったらプログラムを終了させてください。
$2 \ x_{ANS} \ y_{ANS} \ r^2$
この時、以下の制約を満たす必要があります。満たしていない場合のジャッジは未定です。
・$-10^9 \leq x_{ANS},y_{ANS} \leq 10^9$
・$0 \leq r^2 \leq 10^{19}$
・$x_{ANS},y_{ANS},r^2$は小数点以下の桁数が高々$9$桁
このとき、中心$(x_{ANS},y_{ANS})$で半径$r$の内部(境界線含む)に爆弾$3$つが含まれていて、$r$をこれ以上小さくすることが出来ない場合正解となります。
真の値との誤差が$10^{-10}$以下となるように用意した想定解との相対誤差もしくは絶対誤差が$10^{-5}$以下の場合正解となります。

サンプル

サンプル1
出力
1 0 0
1 5.5 1.5
1 -2 3
1 3 2
2 0 0 13
ジャッジの出力
3
0 0 1
+ 1 1
? 0 0
? 0 0

まず初めに$N$が渡されます。また秘密裏に$A(-2,3)$、$B(3,2)$が決定してました。
$1$つ目のクエリーでは$\angle AOB =\frac{\pi}{2}$なので$\cos \angle AOB=0$となります。
$2$つ目のクエリーでは$\angle AXB = 0$なので$\cos \angle AXB=1$となります。
$3,4$つ目のクエリーでは角をなしていないため上記のようなジャッジの出力になります。
答えとして中心$(0,0)$、半径$\sqrt{13}$を出力しています。円の内部に$3$つの爆弾は含みますが、これより爆弾を$3$つ含みながら半径を小さくすることが出来るので不正解になります。
なお、-00.7などのleading zeroがついているものや18.90.3+1c.5などの小数として成り立っていないものを出力した場合は不正解となります。

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