#P12798. [NERC 2022] Interactive Factorial Guessing

    ID: 12578 Type: RemoteJudge 3000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>2022交互题Special JudgeICPCNERC/NEERC

[NERC 2022] Interactive Factorial Guessing

题目描述

Oh no, this wicked jury hides something from you again, and you need to guess it interactively.

This time, you need to find an integer nn. To do that, you can make at most 10 queries of the form "What is the kk-th decimal digit of the product of all integers from 1 to nn (also known as factorial and denoted as n!n!)?".

Interactive Protocol

In the first line, there is an integer tt (1t1001 \le t \le 100) --- the number of tests you shall process.

For each test, the integer nn is chosen in advance. The length of n!n! is at most 2000020\,000, so 1n59821 \le n \le 5982.

You can make at most 10 queries\textbf{at most 10 queries} of the form "?\tt{? } kk" (0k<200000 \le k < 20\,000). In response to the query, you will get a single digit --- the kk-th decimal digit of n!n! (the response is between 0 and 9 inclusive). Digits are numbered from 0, starting with the least significant digit. If n!n! is too short, and there is no kk-th digit, then 0 is returned.

After your program finds the value of nn it shall answer with "!\tt{! } nn". If the answer is correct, then you will receive "YES\tt{YES}" and should proceed to the next test or terminate if it was the last one. If the answer is not correct, or you are trying to guess, and there are several possible answers consistent with the information you have received, you will get "NO\tt{NO}". In that case, your submission will receive "Wrong answer\tt{Wrong\ answer}" verdict and your code shall terminate immediately.

输入格式

See Interactive Protocol.

输出格式

See Interactive Protocol.

2

1

YES

0

2

YES

? 0

! 1

? 0

? 19997

! 5982