#P14750. 月影戀
月影戀
题目背景
:::epigraph[——月雩 & 影怿,2022.4.17]
皓月千里,静影沉璧——故事的开始总是美好的
:::
:::align{center}
“浮浮泻星渚,萧萧沉残云。无期踯躅夜,与卿话香薰。”——月雩,《壬寅上巳有感》
:::
小 Y 和小 L 是一对情侣。少女的心思总是捉摸不透的,这让小 Y 非常苦恼。于是他准备求助作为恋爱大师的你来帮助他猜出小 L 的心思。
题目描述
这是一道交互题。
具体来说,有一个神秘的正整数 ,你需要通过不超过 次询问来猜出这个数。每次询问可以向小 L 提出两个数字 和 ,她会告诉你 的值。
交互库是非自适应的。也就是说, 在交互开始前就已经固定。
注:
-
代表不超过 的最大整数,例如 。
-
代表 和 的最大公因数,例如 。
交互格式
每次询问输出 ? a b,代表你向小 L 询问的数,之后读入一个数 代表 。
如果你已经猜出了这个神秘数 ,输出 ! h,代表你的答案。
每次输出之后,你需要清空缓冲区,清空输出缓冲区可以使用以下方式:
-
C/C++:
fflush(stdout)(如果您使用printf),cout.flush()或cout << endl(如果您使用cout) -
Java:
System.out.flush() -
Pascal:
flush(output) -
Python:
sys.stdout.flush()
交互格式示例:
cout << "? " << a << " " << b << '\n';//一次询问
cout.flush();//刷新缓冲区
long long g; cin >> g;//读入g
cout << "! " << h << '\n';//输出答案
cout.flush();//刷新缓冲区
输入格式
本题有多组数据。第一行一个正整数 ,表示数据组数。
对于每组数据:
见「交互格式」。
输出格式
对于每组数据:
见「交互格式」。
2
2
3
1
10
7
? 2 2
? 3 2
! 520
? 2 1
? 10 6
? 7 2
! 1314
提示
注:样例仅展示交互格式。
如果返回的 不正确,会判为 Wrong Answer。
如果询问的数 或 不在 [1, ) 范围内,可能会被判为 Wrong Answer 或 Time Limit Exceeded。
如果询问次数超过 次,会判为 Wrong Answer 或 Time Limit Exceeded,所以请一定要及时返回答案。
结语:
但故事总会结束。
飞花不似当年,胜似当年。
新愁哀怨醉亭前,一轮孤月,一行飞雁
——月雩, 乙巳(2025)年九月二十三日作