P14843 [ICPC 2022 Yokohama R] Interactive Number Guessing

题目描述

这是一道交互题。 你的任务是编写一个程序,通过重复的查询和响应来猜测一个秘密数字。该秘密数字是一个小于 $10^{18}$ 的非负整数。 设 $x$ 为秘密数字。在一次查询中,你指定一个非负整数 $a$。作为响应,将返回 $(x + a)$ 的 **各位数字之和**。这里,一个数的各位数字之和指的是其十进制表示中所有数字的总和。例如,4096 的各位数字之和为 $4 + 0 + 9 + 6 = 19$。 ### 交互 你应从向标准输出发送查询并接收来自标准输入的响应开始。这个交互可以重复多次。当你通过这些交互对自己的猜测有信心时,你可以发送答案。 查询应遵循以下格式,后跟一个换行符。 $$\text{query} \quad a$$ 这里,$a$ 是一个介于 $0$ 到 $10^{18} - 1$ 之间(含)的整数。响应此查询后,秘密数字 $x$ 对应的 $(x + a)$ 的各位数字之和将被发送到标准输入,后跟一个换行符。 你应将答案以以下格式发送到标准输出,后跟一个换行符。 $$\text{answer} \quad y$$ 这里,$y$ 是你识别出的秘密数字,是一个介于 $0$ 到 $10^{18} - 1$ 之间(含)的整数。 你只能发送一次答案,因此在发送答案之前,你必须通过重复的交互对自己的猜测有把握。然而,你最多只能发送 **不超过 $75$ 次查询**,因此你必须明智地选择查询。发送答案后,你的程序应终止,不得有任何额外输出。 ### 交互判题说明 当你的输出违反上述任何条件时(格式无效、$a$ 或 $y$ 超出范围、查询次数过多、发送答案后还有额外输出等),你的提交将被判为错误答案。由于某些环境要求刷新输出缓冲区,请确保你的输出实际被发送。否则,你的输出将永远不会到达评测机。

输入格式

输出格式

说明/提示

在这个例子中,秘密数字 $x$ 是 $75$。响应第一次查询时,返回 $15$,因为 $x + a = 75 + 3 = 78$,其各位数字之和为 $7 + 8 = 15$。第二次响应后,你可以得出结论:唯一可能的秘密数字是 $75$。