#agc044d. [agc044_d]Guess the Password

[agc044_d]Guess the Password

本题为交互题。

你需要猜测一个密码 SS。密码是一个非空字符串,其长度至多为 LL。密码中的字符可以是小写字母、大写字母和数字(a, b, ……, z, A, B, ……, Z, 0, 1, ……, 9)。

为了猜中密码,你可以进行至多 QQ 次询问。在一次询问中,你需要提出一个合法的密码 TT,交互器会返回 SSTT 之间的编辑距离。

对于编辑距离(编辑操作包含移除、插入和替换)的定义,可以参考百度百科

交互格式

询问时,应在新的一行向标准输出打印如下内容,表示你提出的密码为 TT

? T

字符串 TT 必须为合法的密码。

交互器会从标准输出返回一行一个整数表示答案 SSTT 之间的编辑距离。

如果已经确定了密码的内容,应在新的一行向标准输出打印如下内容,表示你的答案为 SS

! S

随后结束程序。

交互机制

  • 在每次打印内容后,应当刷新标准输出。反之评测结果可能为 TLE
  • 在输出所猜测的答案后,必须立即结束程序。其余行为均是未定义的。
  • 如果所猜测的答案错误,评测结果为 WA
  • 如果询问格式有误(有可能提出的密码不合法,也有可能丢失了询问初始的 ?)、你的程序意外终止或询问次数超过了 QQ 次,交互器的行为都是未定义的,评测结果不一定是 WA

数据范围

L=128,Q=850L = 128, Q = 850。答案 SS 在交互前确定。