atcoder#ARC078C. [ARC078E] Awkward Response
[ARC078E] Awkward Response
题目描述
これはインタラクティブな問題です。
すぬけくんはお気に入りの正の整数 を持っています。あなたは 「 はお気に入りの正の整数か?」と最大 回すぬけくんに質問することができます。 を特定してください。
すぬけくんはひねくれ者なので「 はお気に入りの正の整数か?」と質問されたとき、 が以下の つの条件のどちらかを満たすとき Yes と、それ以外のとき No と答えます。
- かつ を満たす
- かつ を満たす
ここで、 は正の整数 を十進表記(先頭に をつけない)の文字列として表したものです。例えば 123
, = 2000
です。 なお、この問題において文字列同士は辞書順で比較されます。例えば 11111
123
,123456789
9
が成立します。
Input & Output Format
各質問は、標準出力に以下の形式で出力せよ:
?
ここで は 以上 以下の整数でなければならない。
次に、質問の答えが標準入力から以下の形式で与えられる:
ここで は Y
または N
である.Y
ならば、質問の答えが Yes であることを、N
ならば No であることを示す。
最後に、答えを以下の形式で出力せよ:
!
ここで でなくてはならない。
题目大意
交互题。
给定一个数字,要你通过若干次询问得到。
一次交互格式类似于,其中是你询问的数字,交互库会返回答案或者,分别表示和。
返回当且仅当满足下述条件中的一个:
- 并且
- 并且
其中的含义是将十进制整数转成字符串,字符串比较按字典序比较。下面这行代码则是一个交互的示例,其中是字符串变量,用来读取交互库返回的答案。
void query(int x){printf("? %d\n",x);fflush(stdout);scanf("%s",s);}
若找到答案,请按的格式输出,其中为你找到的数字。
你最多询问 次。
提示
制約
ジャッジ
- **出力のあと、標準出力を flush せよ。**従わない場合
TLE
の可能性がある。 - 答えを出力した後、プログラムをすぐに終了せよ。従わない場合のジャッジの挙動は定義されていない。
- 出力の答えが間違っている場合の挙動は定義されていない(
WA
とは限らない)。
入出力例
これは のときの入出力例です。
Input Output ? 1
Y
? 32
N
? 1010
N
? 999
Y
! 123
- かつ なので答えは Yes です
- ですが、 なので答えは No です
- ですが、 なので答えは No です
- かつ なので答えは Yes です
- は であると 回の質問で回答できたため正解となります