#P1060. 异或猜数
异或猜数
题目描述
本题是交互题。
交互器预先选定了一个整数 ,并且 的取值范围是 到 。你需要通过很少的询问确定这个整数。
你最多可以询问 次。每次询问时,你需要一次性提交恰好 个整数。交互器会在你提交的这 个整数中任选一个数 ,并把 返回给你。
需要特别注意:两次询问里出现过的所有整数都必须互不相同,也就是说总共最多出现 个数,任意两个都不能相等。
输入格式
原交互题开始时没有普通输入。
在本地测试中,交互器会从隐藏输入文件读取秘密整数。隐藏输入文件只包含一个整数 。
输出格式
若要询问,输出一行:
? a_1 a_2 ... a_100
其中必须有恰好 个整数,且每个整数都满足 。同一次询问内不能有重复数字,不同询问之间也不能复用数字。
每次询问后必须刷新输出,并读入交互器返回的整数。
若已经推出 ,输出:
! x
输出最终答案后刷新缓冲区并结束程序。
样例
0
32
? 3 5 6
? 32 24 37
! 5
样例说明
样例只是为了展示交互输入输出的形式,并不是一份完整合法的询问记录。
在正式交互中,每次以 ? 开头的询问都必须跟随恰好 个整数。
数据范围
。
最多允许 次询问。
每次询问必须包含恰好 个整数。
所有询问中出现过的整数必须两两不同。