Найдите длину круга
Найдите длину круга
Это интерактивная задача
Вы управляете роботом, размещенным на стадионе целочисленной длины. Изначально робот находится в стартовой точке.
Робот принимает команду "run k", которая приказывает ему пройти расстояние ровно k метров против часовой стрелки от его текущего местоположения и сообщает общее количество полных кругов, пройденных им при выполнении этой и всех предыдущих команд (то есть сколько раз робот возвращался в исходную точку после старта гонки).
Ваша задача - определить длину круга, используя не более 100 команд.
Протокол взаимодействия
Взаимодействие начинается с того, что Ваша программа отправляет строку, содержащую запрос "run k" (1 ≤ k ≤ 109
), где k — расстояние, которое робот должен пройти. Затем программа жюри выводит одно целое число - общее количество всех кругов, пройденных после окончания движения робота (круг считается пройденным, если робот прошел начальную точку или остановился в ней после окончания команды).
Вы можете предположить, что длина круга является целым числом от 1 до 109
включительно.
Вы можете использовать не более 100 команд "run".
Если Вы готовы вывести ответ, используйте команду "ensure s", где s - длина круга. После вывода ответа программа должна немедленно завершиться.
Для корректного взаимодействия выводите конец строки после каждого запроса и после команды "ensure", а также очищайте буфер вывода соответствующими функциями используемого языка программирования:
- cout.flush() или fflush(stdout) ддя C/C++;
- stdout.flush() для Python;
- смотрите документацию для других языков.
1 1 2 3
run 5 run 2 run 4 run 1 ensure 4