Advertisement
jootiee

задача

Nov 26th, 2021
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.10 KB | None | 0 0
  1. Это интерактивная задача.
  2.  
  3. Некто загадал целое число x (1 ≤ x ≤ n). Ваша программа должна угадать это число во взаимодействии с тестирующей системой. Всего можно делать два различных типа действий:
  4.  
  5. ? y (1 ≤ y ≤ n) — попросить сравнить загаданное число с числом y. В ответе будет или строка “>=”, обозначающая, что x ≥ y, или строка “<”, обозначающая, что x < y.
  6. ! y (1 ≤ y ≤ n) — сообщить y в качестве ответа. После чего ваша программа должна завершиться.
  7. Протокол взаимодействия
  8.  
  9. Сначала на вход Вашей программе подаётся целое число n (1 ≤ n ≤ 109). После этого тестирующая система готова отвечать на запросы Вашей программы.
  10.  
  11. Выводите запросы по одному на строку в соответствии с условиями. После каждого запроса формата “? y” считываете строку с ответом на него. Всего количество запросов такого типа не может превышать двоичный логарифм числа n, округлённый вверх. Если количество запросов будет превышено, результатом проверки будет ошибка “Wrong answer”.
  12.  
  13. Не забывайте после каждого запроса: 1) выводить перевод строки; 2) очищать буфер вывода. Например, в C/C++ это можно сделать с помощью функций fflush(stdout) или cout.flush(), в Pascal - с помощью flush(output).
  14.  
  15. Interaction Example
  16.  
  17. 16
  18. ? 9
  19. <
  20. ? 5
  21. >=
  22. ? 7
  23. <
  24. ? 6
  25. >=
  26. ! 6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement