Advertisement
nq1s788

Untitled

Sep 15th, 2024
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.18 KB | None | 0 0
  1. В этой задаче будем искать число в диапазоне от 1 до 1000000 бинарным поиском. Когда мы выводим число, которое мы предполагаем, тестирующая система отвечает "<" или ">=" в зависимости от того меньше ли наше предположение загаданного системой числа, или нет. Если оно меньше, тогда продолжим искать среди чисел меньших нашего предположения, иначе наоборот среди больших. Для того, чтобы взаимодействие с проверяющей системой работало правильно, нужно в вывод добавить flush -- print(... , flush=True) в питоне; cout << ... << endl в с++
  2.  
  3. Пример кода на python:
  4. l = 1
  5. r = 1000001
  6. while r - l > 1:
  7.     m = (r + l) // 2
  8.     print(m, flush=True)
  9.     answ = input() #считываем ответ проверяющей системы на наше число
  10.     if answ == '<':
  11.         r = m
  12.     else:
  13.         l = m
  14. print('!', l)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement