QOJ.ac

QOJ

시간 제한: 3.0 s 메모리 제한: 256 MB 총점: 100 인터랙티브 해킹 가능 ✓

#14119. 猜数字

통계

这是一道交互题。

Petya 和 Vasya 正在玩一个游戏。游戏由若干轮组成。在每轮开始时,Petya 秘密选择一个介于 $1$ 到 $n$ 之间的整数 $x$($n$ 与轮数无关)。然后 Vasya 可以说出一个介于 $1$ 到 $n$ 之间的数字 $y$,Petya 会告诉他 $y$ 是否小于 $x$。在每轮中,Vasya 可以询问任意多个数字。之后,Vasya 必须猜出数字 $x$。Vasya 的目标是在尽可能减少询问次数的同时正确猜出该数字。

请帮助 Vasya 编写一个程序来玩这个游戏。

保证 Petya 在一轮游戏中不会改变已选择的数字。然而,在新一轮开始时,他可以根据 Vasya 在之前轮次中的表现来选择数字。

输入格式

第一行包含两个整数:Petya 可以选择的最大数字 $n$ 和轮数 $k$($1 \le n \le 10^9$,$k = 10^4$)。

在此之后,每次询问后都会有 Petya 的回答。如果 Petya 选择的数字小于询问中的数字,则回答为 <,否则为 >=

在尝试猜出数字(即使用 = 询问)后,不会有任何回应。

输出格式

你需要处理所有 $k$ 轮游戏。每行输出应包含恰好一个格式如下的询问:

c x

其中:

  • c — 一个字符,表示询问类型:? 表示提问,= 表示尝试猜出数字。
  • x — 一个介于 $1$ 到 $n$ 之间的整数。

? 询问的总次数不应超过 $k(\log_2(n + 1) + 0.1)$。

样例

输入样例 1

4 2
<
>=
>=
>=

输出样例 1

? 3
? 2
= 2
? 3
? 4
= 4

说明

请注意,样例测试点是无效的,因为 $k \ne 10^4$。在实际测试中,第一个测试点将是:4 10000

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.