Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Это интерактивная задача.
- Некто загадал целое число x (1 ≤ x ≤ n). Ваша программа должна угадать это число во взаимодействии с тестирующей системой. Всего можно делать два различных типа действий:
- ? y (1 ≤ y ≤ n) — попросить сравнить загаданное число с числом y. В ответе будет или строка “>=”, обозначающая, что x ≥ y, или строка “<”, обозначающая, что x < y.
- ! y (1 ≤ y ≤ n) — сообщить y в качестве ответа. После чего ваша программа должна завершиться.
- Протокол взаимодействия
- Сначала на вход Вашей программе подаётся целое число n (1 ≤ n ≤ 109). После этого тестирующая система готова отвечать на запросы Вашей программы.
- Выводите запросы по одному на строку в соответствии с условиями. После каждого запроса формата “? y” считываете строку с ответом на него. Всего количество запросов такого типа не может превышать двоичный логарифм числа n, округлённый вверх. Если количество запросов будет превышено, результатом проверки будет ошибка “Wrong answer”.
- Не забывайте после каждого запроса: 1) выводить перевод строки; 2) очищать буфер вывода. Например, в C/C++ это можно сделать с помощью функций fflush(stdout) или cout.flush(), в Pascal - с помощью flush(output).
- Interaction Example
- 16
- ? 9
- <
- ? 5
- >=
- ? 7
- <
- ? 6
- >=
- ! 6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement