#P14843. [ICPC 2022 Yokohama R] Interactive Number Guessing

    ID: 14743 远端评测题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>二分2022交互题Special JudgeICPC横浜

[ICPC 2022 Yokohama R] Interactive Number Guessing

Description

这是一道交互题。

你的任务是编写一个程序,通过重复的查询和响应来猜测一个秘密数字。该秘密数字是一个小于 101810^{18} 的非负整数。

xx 为秘密数字。在一次查询中,你指定一个非负整数 aa。作为响应,将返回 (x+a)(x + a)各位数字之和。这里,一个数的各位数字之和指的是其十进制表示中所有数字的总和。例如,4096 的各位数字之和为 4+0+9+6=194 + 0 + 9 + 6 = 19

交互

你应从向标准输出发送查询并接收来自标准输入的响应开始。这个交互可以重复多次。当你通过这些交互对自己的猜测有信心时,你可以发送答案。

查询应遵循以下格式,后跟一个换行符。

querya\text{query} \quad a

这里,aa 是一个介于 001018110^{18} - 1 之间(含)的整数。响应此查询后,秘密数字 xx 对应的 (x+a)(x + a) 的各位数字之和将被发送到标准输入,后跟一个换行符。

你应将答案以以下格式发送到标准输出,后跟一个换行符。

answery\text{answer} \quad y

这里,yy 是你识别出的秘密数字,是一个介于 001018110^{18} - 1 之间(含)的整数。

你只能发送一次答案,因此在发送答案之前,你必须通过重复的交互对自己的猜测有把握。然而,你最多只能发送 不超过 7575 次查询,因此你必须明智地选择查询。发送答案后,你的程序应终止,不得有任何额外输出。

交互判题说明

当你的输出违反上述任何条件时(格式无效、aayy 超出范围、查询次数过多、发送答案后还有额外输出等),你的提交将被判为错误答案。由于某些环境要求刷新输出缓冲区,请确保你的输出实际被发送。否则,你的输出将永远不会到达评测机。


15

1
query 3

query 25

answer 75

Hint

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