A14827 | Interacdive Problem
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
This problem is interactive.
We decided to play a game with you and guess the number $x$ ( $1 \le x < n$ ), where you know the number $n$ .
You can make queries like this:
- + c: this command assigns $x = x + c$ ( $1 \le c < n$ ) and then returns you the value $\lfloor\frac{x}{n}\rfloor$ ( $x$ divide by $n$ and round down).
You win if you guess the current number with no more than $10$ queries.
We decided to play a game with you and guess the number $x$ ( $1 \le x < n$ ), where you know the number $n$ .
You can make queries like this:
- + c: this command assigns $x = x + c$ ( $1 \le c < n$ ) and then returns you the value $\lfloor\frac{x}{n}\rfloor$ ( $x$ divide by $n$ and round down).
You win if you guess the current number with no more than $10$ queries.
输入格式
无
输出格式
The interaction begins by reading an integer $n$ ( $2 < n \le 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 \le c < n$ ) and then print $\lfloor\frac{x}{n}\rfloor$ (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.
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 \le c < n$ ) and then print $\lfloor\frac{x}{n}\rfloor$ (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.
输入输出样例
输入 #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$ , $\lfloor\frac{x}{n}\rfloor = 1$ .
In the second sample also initially $x = 2$ . After the first query $x = 3$ , $\lfloor\frac{x}{n}\rfloor = 0$ . After the second query $x = 4$ , $\lfloor\frac{x}{n}\rfloor = 0$ . After the third query $x=5$ , $\lfloor\frac{x}{n}\rfloor = 1$ .
In the second sample also initially $x = 2$ . After the first query $x = 3$ , $\lfloor\frac{x}{n}\rfloor = 0$ . After the second query $x = 4$ , $\lfloor\frac{x}{n}\rfloor = 0$ . After the third query $x=5$ , $\lfloor\frac{x}{n}\rfloor = 1$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted