#dwango2017finalc. [dwango2017final_c]ドワンGo
[dwango2017final_c]ドワンGo
配点: 点
問題文
スマホゲームが大好きなタカシくんは最近、大人気のスマホゲーム「ドワンGo」にはまっています。
ドワンGoは、地図上の一点に隠れるキャラクター「テレビちゃん」を捕獲していくゲームです。
テレビちゃんは地図上に一体だけ存在しており、テレビちゃんの位置は, を満たす整数座標であることが知られています。
タカシくんにテレビちゃんの正確な位置はわかりませんが、そのかわり、タカシくんは指定した座標にアイテム「テレボール」を投げることができます。
テレビちゃんにテレボールが当たると、タカシくんはテレビちゃんを捕獲することができます。
テレボールは非常に小さいため、テレビちゃんの位置をぴったり指定しないと、タカシくんはテレビちゃんを捕獲できません。
しかし、テレビちゃんは臆病なので、テレボールを投げた位置がテレビちゃんに近いと(つまり、テレビちゃんの位置からテレボールを投げた位置までのユークリッド距離が以下である(ぴったりを含む)と)、
テレビちゃんの驚く声が聞こえます。
いま、タカシくんはテレボールを個持っています。
タカシくんはこれ以上テレボールの数を増やす課金をしたくないため、
個のテレボールで確実にテレビちゃんを捕獲したいと考え、あなたに助けを求めてきました。
タカシくんを支援するプログラムを作成してください。
入出力形式
あなたはタカシくんにテレボールを投げる位置を実数で指示することができます。
例えば、C/C++でタカシくんにテレボールを位置に投げてもらうよう指示するには、
printf("%.9f %.9f\\n", x, y); fflush(stdout);```
とします。
$L$より大きい値や負数の指定も可能ですが、$x$と$y$は文字列として20文字以下でなくてはなりません。また、指数表記での指定は不可能です。
これらの条件を破った場合は誤答(_Wrong Answer_)となります。
次に、
```plain
scanf("%s", &result);```
とすると、タカシくんがテレボールを投げた結果に応じて以下のように返事を得られます。
* テレビちゃんを捕獲した時(つまり$(x_t,y_t)=(x,y)$の時)、"found"が得られる
* テレビちゃんを捕獲できなかったが、テレビちゃんが声を発した時(つまり$0 < \\sqrt{(x_t-x)^2+(y_t-y)^2} \\leq R$の時)、"close"が得られる
* テレビちゃんを捕獲できなかった上、テレビちゃんが声を発しなかった時(つまり$R < \\sqrt{(x_t-x)^2+(y_t-y)^2}$の時)、"far"が得られる
* タカシくんが$N$個のボールを投げ切ってしまったか、あなたが指示した座標が不正であった時、"kill"が得られる
タカシくんが"found"もしくは"kill"を返すまで、あなたはタカシくんにテレボールを投げる指示をすることができますが、
"found"もしくは"kill"の返事が得られた時は、直ちにプログラムを終了してください。
### 制約
* $L = 1,000,000$
* $R = 100,000$
* $0 \\leq x_t \\leq L$
* $0 \\leq y_t \\leq L$
* $x_t$,$y_t$は整数
* テレボールは$N = 200$回まで投げることができる。それを超えると誤答(_Query Limit Exceeded_)となる
### 部分点
以下を満たすデータセットに正解した場合は、25点が与えられる。
* $0 \\leq x_t \\leq 10$
* $0 \\leq y_t \\leq 10$
### 入出力例
プログラムの入力
プログラムの出力
1000001.000000000000 1000000.000000000000
far
\-25252.525252525252 52525.252525252525
close
100000.000000000000 -0.000000000001
far
\-100000.000000000000 0.000000000000
close
0 0
found
プログラムはタカシくんに$(1000001, 1000000)$の位置にテレボールを投げる指示を出し、
テレビちゃんが声を発していない(半径$R = 100,000$の範囲にテレビちゃんがいない)という情報を得ています。
その後何度かテレボールを投げる指示を出し、
最終的に$(0, 0)$にテレボールを投げる指示を出したところで、テレビちゃんを捕獲した。
* * *