G. The future breaking out of shades from the past

    交互题 1000ms 256MiB

The future breaking out of shades from the past

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

The future breaking out of shades from the past

题目描述

这是一道交互题。

lhy 喜欢在课上与 pzr 做游戏,pzr 乐于给 lhy 出一些难题。 这次,pzr 藏起来了一个数字 nn,想要让 lhy 猜,但是没想到 lhy 学会了某种不可言明的技能,居然可以直接修改 pzr 的数字, 请你在阅读之后帮助 lhy 猜测这个数。

你拥有以下两种操作。

  • 询问操作:请按照 ? x 的格式输出这一次询问(1x2×1091\le x\le 2\times 10^9),然后刷新缓冲区。在询问结束,并刷新缓冲区后,你可以从标准输入中读取评测机返回的结果。如果 xxnn 的因子,评测机将输出 11, 否则输出 00。 特别地,如果 n=xn = x,评测机将输出 1-1
  • 修改操作:请按照+ y 的格式输出这一次询问 (1y2×1091\le y\le 2\times 10^9),然后刷新缓冲区。在操作结束,并刷新缓冲区后,nn 的值将被增加 yy

注意,在输出结束后,你 必须 刷新缓冲区。

例如

  • 在 C/C++ 中你可以使用 fflush(stdout)。
  • 在 Java 中你可以使用 System.out.flush()。
  • 在 Pascal 中你可以使用 flush(output)。
  • 在 Python 中你可以使用 sys.stdout.flush()。

如果你猜出了最终答案,请按照 ! z 的格式报告答案为 zz 后结束程序。 如果 n=zn = z, 你将得到 ac, 否则得到 wa.

你最多可以执行 55 次操作,报告最终答案不算作一次操作。

注意:如果 n=5n = 5, 执行+ 3后, ! 5是错误的而! 8是正确的.

样例

输入

0
    
1
    
0
    
-1

输出

? 3
    
+ 5
    
? 6
    
? 9
    
? 12
    
! 12

样例解释

pzr 的数字为 n=7n = 7

询问 ? 3? \ 3 后,由于 33 不是 77 的因子,因此评测机输出 00

执行 +5+ 5 后,数字将改为 1212

询问 ? 6? \ 6 后,由于 661212 的因子,因此评测机输出 11

询问 ? 9?\ 9 后,由于 99 不是 1212 的因子,因此评测机输出 00

询问 ? 12? \ 12 后,由于 12121212 的因子,并且正好猜中该数字,因此评测机输出 1-1

最终输出 ! 12! \ 12 报告最终的结果。

数据范围及约定

保证 n 的初始值在闭区间 [1,109][1, 10^9]

2024 NNU 迎新生赛(Freshman Contest)

未参加
状态
已结束
规则
ACM/ICPC
题目
13
开始于
2024-11-10 8:00
结束于
2024-11-10 22:00
持续时间
14 小时
主持人
参赛人数
63