#P8541. 「Wdoi-2」死亡之后愈发愉悦

    ID: 7771 Type: RemoteJudge 2000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>倍增二分洛谷原创交互题Special JudgeO2优化洛谷月赛

「Wdoi-2」死亡之后愈发愉悦

题目背景

落樱缤纷春不待,如果错过了这次机会,可能得等到紫藤绽放的春夏之际才能赏花了。
但是两人依然无心在樱花树下席地而宴。

因为正体不明的灵体在两人面前倏现骤消的飘浮着。
后来才明白这些四处飘浮的正体不明灵体,既非普通幽灵,也不是前阵子出现的怨灵。
这些是神灵。本应超脱为神的灵体。

一般而言,神灵多半居住在神社里,其实它们是随处可见的没有固定型态的灵体。
这些神灵让她们困惑不已。

超乎常人的强烈人欲、想法、恐惧与情感,是神灵出现的原因。一般而言,神灵很少危害人类,如果没有强烈的欲望。例如祈求丰收,或是除厄避邪等,是不会产生神灵的……

小神灵指引着灵梦与魔理沙深入命莲寺的地底,与千年复苏的敌人交手。从命莲寺墓地到莲池中央的梦殿大祀庙,从彷徨的亡灵到极具传说色彩的圣德太子,从欲望加速到小小的欲望星空,一切都显得那么不可思议。

「死亡之后,才能得到更加绚烂的重生。」

题目描述

【这是一道交互题】

定义 f(x)f(x) 表示严格大于 xx 的最小的完全平方数,定义 g(x)g(x) 为小于等于 xx 的最大的完全平方数。例如,f(1)=f(2)=g(4)=g(8)=4f(1)=f(2)=g(4)=g(8)=4

一个正整数是“可爱”的,当且仅当 xg(x)<f(x)xx-g(x)<f(x)-x,例如,1,5,111,5,11 是可爱的正整数,而 3,8,153,8,15 不是。

为了倾听小神灵的愿望,主角组需要向神子询问。小神灵有一个最喜欢的正整数 aa,神子可以根据灵梦给出的 x(x[0,109])x\quad(x\in[0,10^9]),向小神灵询问,而小神灵只能回答她,a+xa+x 是不是可爱的正整数(cute number\text{cute number})。

请通过适当的询问找出 aa

输入格式

第一行有一个正整数 TT,表示数据组数。每一组之间互相独立。

接下来,对于每一组数据,你将可以进行以下两种操作:

  • ? x\verb!? x!:询问 a+xa+x 是否是 cute number\text{cute number}。要注意,xx 的值应当在 [0,109][0,10^9] 以内。对于正确的询问,交互库会返回一个数字 11 或者 00,表示 a+xa+x 是/不是 cute number\text{cute number}
  • ! a\verb|! a|:报告你发现的 aa。如果你给出的 aa 正确,该组数据结束。注意:报告操作不计入询问操作的总次数。

如果你的询问次数超过了 100100,或者 xx 不符合数据范围,或者你报告的 aa 不正确,交互库会返回一个数字 1-1。此时你应当立即结束程序,否则可能发生不可预知的错误。

1

1

1

1

1

1

0

0

1

? 0

? 1

? 2

? 3

? 10

? 100

? 233

? 1919810

! 114514

提示

样例解释

样例当中的过程仅供参考。

样例当中,a=114514a=114514,是 cute number\text{cute number}(因为 3382114514<3392338^2\le 114514 <339^2,而 1145143382=270<3392114514=407114514-338^2=270<339^2-114514=407)。

同样地,a+0,a+1,a+2,a+3,a+10a+0,a+1,a+2,a+3,a+10 均为 cute number\text{cute number}。而 a+100=114614a+100=114614 不是 cute number\text{cute number},因为 3382114614<3392338^2\le 114614 <339^2,而 1146143382=3703392114614=307114614-338^2=370\ge 339^2-114614=307

数据范围及约定

$$\def\arraystretch{1.5} \begin{array}{|c|c|c|c|c|}\hline \textbf{Subtask} & \bm{a\le } & \bm{T\le} & \textbf{特殊性质} & \textbf{分值}\\\hline 1 & 100 & 100 & - & 10\\\hline 3 & 10^9 & 2\times 10^3 & - & 20\\\hline 2 & 10^{12} & 2\times 10^3 & \textbf{A} & 30\\\hline 4 & 10^{12} & 2\times 10^3 & - & 40\\\hline \end{array} $$

特殊性质 A\textbf{A}:保证 aacute number\text{cute number}

对于全部数据,保证 1a10121\le a\le 10^{12}。你发起的询问当中,xx 的值应当在 [0,109][0,10^9] 以内。


此外,你每个测试点的得分还与该测试点所有询问次数的最大值有关。具体而言,设某个测试点你询问操作一共进行了 max_count\text{max\_count} 次。

  • max_count<64\text{max\_count}< 64,你将获得该测试点 100%100\% 的分数;
  • 64max_count<8164\le \text{max\_count}< 81,你将获得该测试点 50%50\% 的分数;
  • 81max_count<10081\le \text{max\_count}< 100,你将获得该测试点 20%20\% 的分数;
  • max_count100\text{max\_count}\ge 100,你将不能获得该测试点的分数。