CF1624F.Interacdive Problem
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This problem is interactive.
We decided to play a game with you and guess the number x (1≤x<n), where you know the number n.
You can make queries like this:
- + c: this command assigns x=x+c (1≤c<n) and then returns you the value ⌊nx⌋ (x divide by n and round down).
You win if you guess the current number with no more than 10 queries.
Interaction
The interaction begins by reading an integer n (2<n≤1000), which is written in the input data on its own line.
Then you can make no more than 10 queries. To make a query, print on a separate line:
- + c: this command will assign x=x+c (1≤c<n) and then print ⌊nx⌋ (divide x by n and round down) on a separate line.
Print the answer, like the queries, on a separate line. The answer doesn't count in number of queries. To output it, use the following format:
- ! x: the current value of x.
After that, your program should exit.
You have to use a flush operation right after printing each line. For example, in C++ you should use the function fflush(stdout), in Java — System.out.flush(), in Pascal — flush(output) and in Python — sys.stdout.flush().
Note that the interactor is not responsive.
To make a hack, use the following format: a single line must contain two numbers x and n, separated by a space.
这是一个交互式问题。
我们决定和你玩一个游戏,来猜出数字 x(1≤x<n),其中你知道 n 的值。
你可以发出如下形式的查询:
- + c:该指令将执行 x=x+c(其中 1≤c<n),然后返回 ⌊nx⌋(即 x 除以 n 后向下取整)。
如果你在至多 10 次查询内猜出当前的 x 值,则获胜。
交互流程
交互开始时,首先从输入中读取一个整数 n(2<n≤1000),该数独占一行。
随后,你最多可进行 10 次查询。每次查询需在单独一行中输出:
- + c:该指令将执行 x=x+c(其中 1≤c<n),然后在下一行输出 ⌊nx⌋(即 x 除以 n 后向下取整)。
答案需像查询一样,在单独一行中输出。答案不计入查询次数。输出答案时,请使用以下格式:
- ! x:表示当前的 x 值。
输出答案后,你的程序应立即终止。
每次输出一行后,你必须执行刷新(flush)操作。例如,在 C++ 中应调用 fflush(stdout),在 Java 中调用 System.out.flush(),在 Pascal 中调用 flush(output),在 Python 中调用 sys.stdout.flush()。
注意:评测程序(interactor)不会主动响应。
构造 hack 数据的方法
hack 数据格式为:一行中包含两个由空格分隔的整数 x 和 n。
输入输出样例
输入#1
3 1
输出#1
+ 1 ! 3
输入#2
5 0 0 1
输出#2
+ 1 + 1 + 1 ! 5
输入#3
10 0 0 1 2
输出#3
+ 2 + 2 + 3 + 8 ! 20
说明/提示
In the first sample initially x=2. After the first query x=3, ⌊nx⌋=1.
In the second sample also initially x=2. After the first query x=3, ⌊nx⌋=0. After the second query x=4, ⌊nx⌋=0. After the third query x=5, ⌊nx⌋=1.
在第一个样例中,初始时 x=2。第一次查询后 x=3,此时 ⌊nx⌋=1。
在第二个样例中,初始时同样有 x=2。第一次查询后 x=3,此时 ⌊nx⌋=0;第二次查询后 x=4,此时 ⌊nx⌋=0;第三次查询后 x=5,此时 ⌊nx⌋=1。
输入解题思路,AI测评打分。不知道怎么写?