#P0585. 猜出字符串
猜出字符串
题目描述
交互器隐藏了一个长度为 的小写字符串 。你开始时只知道 ,需要通过询问还原整个字符串。
你可以使用两类询问:
? 1 i:询问第 个字符,交互器返回 ;? 2 l r:询问区间 中不同字符的数量。
第一类询问最多 次,第二类询问最多 次。
输入格式
交互开始时,交互器会先给出整数 。
本地交互器的隐藏输入文件包含一个小写字符串 ,其长度即为 。
输出格式
询问第 类时输出 ? 1 i,询问第 类时输出 ? 2 l r,每次询问后都需要刷新输出。
若已经还原字符串,输出一行 ! s,其中 为你得到的完整字符串,然后刷新输出并结束程序。
若询问格式错误或次数超限,交互器会返回 。
样例
5
4
u
2
g
e
s
1
? 2 1 5
? 1 2
? 2 1 2
? 1 1
? 1 3
? 1 4
? 2 4 5
! guess
样例说明
样例是隐藏串为 guess 时的一段交互记录。
数据范围
,字符串只包含小写英文字母。第 类询问不超过 次,第 类询问不超过 次。