P7004 [NEERC 2013] Interactive Interception

题目描述

这是一个交互式问题。 东北紧急火箭控制局(NEERC)开发了一种新的雷达控制系统,旨在更好地控制弹道火箭拦截。为了测试新系统,NEERC 机构开发了一个数学模型,旨在展示该系统的能力。 让我们将火箭表示为一条线上的一个点。最初,该点位于 $0$ 到 $p$ 之间的某个未知整数位置(包括 $0$ 和 $p$)。它具有某个未知速度 $q$,这是一个介于 $0$ 和 $v$ 之间的整数(包括 $0$ 和 $v$)。 每秒会发生以下情况。首先,控制系统向雷达发出一个形式为“`check L R`”的查询,并得到一个答案,指出该点当前是否在 $L$ 和 $R$ 之间(包括 $L$ 和 $R$)。之后,该点的坐标增加 $q$。 雷达控制系统的目标是在某一秒开始时准确地确定该点的位置。当它确实知道该点的位置时,不再向雷达发出查询,而是发出命令在该位置拦截该点。 你必须实现控制系统,在最多进行 100 次雷达查询的情况下定位并拦截该点。 ### 交互协议 交互从你的程序读取两个整数——$p$ 和 $v$ 的值开始($1 \leq p \leq 10^5$,$1 \leq v \leq 10^5$)。 之后,你的程序必须向标准输出打印命令。每个命令必须是以下两种之一。 - “`check L R`”——向雷达发出查询以获得答案,指出该点当前是否在 $L$ 和 $R$ 之间(包括 $L$ 和 $R$)。答案必须从标准输入读取,答案是“`Yes`”或“`No`”。之后,该点的坐标增加 $q$。$L$ 和 $R$ 必须是整数。 - “`answer x`”——已知该点的确切坐标 $x$,并命令拦截该点。在打印此命令后,你的程序必须退出。 你的程序必须在每个命令后,包括最后一个命令“`answer x`”后写入行结束符并刷新标准输出(在退出之前必须写入并刷新行结束符)。

输入格式

输出格式

说明/提示

在给定的例子中,该点最初位于位置 $1$,并以速度 $q = 1$ 移动。 题面翻译由 ChatGPT-4o 提供。