#D0644. [DAY21]反向猜数字
[DAY21]反向猜数字
这是一道交互式题目。
题目描述
33DAI 想和你玩猜数字游戏,你需要想好一个答案。然后他会猜 次,每次会乱猜一个数,你需要告诉他猜得数大了、小了还是对了。
显然你可以通过中途改变想的数来让他猜次数尽可能多,但你必须保证最终你的回答能对应到某个数上,不能自相矛盾。
答案和每次猜的数都必须在 的范围内,请你想想每次该怎么回复他。
交互格式
首先,你的程序需要从标准输入读取两个整数 。
然后,就开始 轮猜数字了。
每一轮你需要先读取 33DAI 猜的数,然后你需要输出 三个数之一并刷新缓冲区,分别表示“大了”、“小了”还是“对了”。
在 C++ 中,cout
可以使用 cout.flush();
刷新,或 endl
实现换行并刷新,printf
可以使用 fflush(stdout);
来强制刷新缓冲区。
如果你的 次回复没有矛盾,且每一步都会让 33DAI 猜测次数尽可能多,那你就可以通过这道题。
3 10
2
7
9
-1
1
1
第一轮 33DAI 猜 ,如果你回复他大了,那他下一轮就会猜出来正确答案是 了,所以只能回复小了。
数据规模与约定
,。