Інтерактивне вгадування факторіала
О ні, це зловісне журі знову щось приховує від вас, і вам доведеться здогадатися про це інтерактивно.
Цього разу вам потрібно знайти ціле число . Для цього ви можете задати не більше запитів виду "Яка -та десяткова цифра добутку всіх цілих чисел від до (також відомого як факторіал і позначається як )?"
Протокол взаємодії
Протокол взаємодії У першому рядку міститься ціле число — кількість тестів. Для кожного тесту ціле число вибирається заздалегідь. Довжина не перевищує , тому . Ви можете задати не більше запитів виду "? k
" . У відповідь на запит ви отримаєте одну цифру — -ту десяткову цифру (відповідь знаходиться в діапазоні від до включно). Цифри нумеруються з , починаючи з найменш значущої цифри. Якщо занадто короткий, і -ї цифри немає, то буде повернено .
Після того як ваша програма знайде значення , вона повинна відповісти "! n
". Якщо відповідь правильна, то ви отримаєте "YES" і повинні перейти до наступного тесту або завершити, якщо це був останній. Якщо відповідь неправильна, або ви намагаєтеся вгадати, і існує кілька можливих відповідей, що узгоджуються з отриманою інформацією, то ви отримаєте "NO". У цьому випадку ваше рішення отримає вердикт "Wrong answer", і ваш код буде негайно завершено.