No.1793 実数当てゲーム
タグ : / 解いたユーザー数 29
作問者 : to-omer / テスター : とりゐ
この問題は、 yukicoder Advent Calendar Contest 2021 の 12 月 22 日出題の問題です。
問題文
この問題はインタラクティブ問題です。
この問題では一つの入力につきテストケースが $T$ 個与えられます。
Aさんは $0$ 以上 $12.22\times 10^{74}$ 以下のある 実数 $x$ が大好きです。
以下の質問を行うことでAさんの好きな実数 $x$ を当ててください。
- 実数 $y$ が $x$ 以下かどうか。
ただし、Aさんは忙しいので、 $24$ 回までしか質問に答えてくれません。
しかし、Aさんは優しいので、絶対誤差または相対誤差が $10^{-5}$ 以下であれば正解にしてくれます。
▶絶対誤差・相対誤差とは
- 絶対誤差:真の値 $x$ に対し、 $y$ の絶対誤差は $\displaystyle|x-y|$ で定義される。
- 相対誤差:真の値 $x\ (\neq 0)$ に対し、 $y$ の相対誤差は $\displaystyle\frac{|x-y|}{|x|}$ で定義される。
入出力
最初に、テストケースの数 $T$ が与えられます。
$T$
$T$ は $1\le T \le 100$ である整数です。
以降、 $T$ 個のテストケースが続きます。
質問は以下の形式で標準出力に出力してください。
? $y$
ここで、 $0\le y\le 12.22\times 10^{74}$ を満たす必要があります。
質問に対する応答は、次の形式で標準入力から与えられます。
$S$
ここで、 $S$ は以下のいずれかの文字列です。
Yes
:実数 $y$ は $x$ 以下になります。No
:実数 $y$ は $x$ 以下でない。-1
:質問回数が $24$ 回を超えた、または不正な出力を行った。この場合、直ちにプログラムを終了させてください。
実数 $x$ を答えるときは、次の形式で標準出力に出力してください。
! $x$
ここで、 $0\le x\le 12.22\times 10^{74}$ を満たす必要があります。
絶対誤差または相対誤差が $10^{-5}$ 以下のとき正解として扱われます。
その後、次のテストケースがあれば続けて処理し、なければすぐにプログラムを終了してください。
各出力の末尾には改行を付け、標準出力を flush してください。
制約
$1\le T\le 100$
$0\le x\le 12.22\times 10^{74}$
サンプル
$T=2$ の場合、以下のようなやり取りが考えられます。
入力 | 出力 | 説明 |
---|---|---|
2 | $T=2$ | |
? 1 | 1つ目のテストケースの開始 | |
No | $1$ は $x$ 以下でない | |
? 0.99999999 | ||
Yes | $0.99999999$ は $x$ 以下である | |
! 0.99999999 | ||
? 1.41421356 | 2つ目のテストケースの開始 | |
Yes | $1.41421356$ は $x$ 以下である | |
! 3.14159265 |
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。