#P12798. [NERC 2022] Interactive Factorial Guessing

    ID: 12622 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2022交互题Special Judge构造ICPCNERC/NEERC

[NERC 2022] Interactive Factorial Guessing

Description

哦不,这可恶的出题人又向你隐瞒了一些东西,你需要通过交互来猜出它。

这一次,你需要找到一个整数 nn。为此,你可以进行最多 10 次查询,询问 n!n!(即从 1 到 nn 的所有整数的乘积,也称为阶乘)的第 kk 位十进制数字。

交互方式

第一行是一个整数 tt (1t1001 \le t \le 100)——你需要处理的测试数据组数。

对于每组测试,整数 nn 是预先选定的。n!n! 的长度最多为 2000020\,000,因此 1n59821 \le n \le 5982

你可以进行最多 10 次形如“?\tt{? } kk” (0k<200000 \le k < 20\,000) 的查询。作为对查询的回应,你将得到一个数字——n!n! 的第 kk 位十进制数字(回应介于 0 和 9 之间,包含两端)。数字从 0 开始编号,从最低有效位开始。如果 n!n! 太短,没有第 kk 位数字,则返回 0。

当你的程序找到 nn 的值后,应以“!\tt{! } nn”的形式作答。如果答案正确,你将收到“YES\tt{YES}”,并应继续处理下一组测试,或者如果这是最后一组则终止程序。如果答案不正确,或者你试图猜测,并且存在多个与你收到的信息一致的可能答案,你将收到“NO\tt{NO}”。在这种情况下,你的提交将获得“Wrong answer\tt{Wrong\ answer}”的评测结果,你的代码应立即终止。

Input Format

见交互方式。

Output Format

见交互方式。

2

1

YES

0

2

YES

? 0

! 1

? 0

? 19997

! 5982