Codeforces Round 525 (Div. 2) |
---|
Закончено |
Это интерактивная задача!
Ехаб играет в игру с Лагги. Ехаб имеет два загаданных числа $$$(a,b)$$$. Лагги может сказать пару чисел $$$(c,d)$$$ и Ехаб ответит:
Операция $$$a \oplus b$$$ обозначает операцию побитовое исключающее «ИЛИ» чисел $$$a$$$ и $$$b$$$.
Лагги нужно угадать $$$(a,b)$$$ не более, чем за 62 вопроса. Вам предлагается сыграть в эту игру. Вы играете за Лагги, а программа жюри - за Ехаба.
Гарантируется, что $$$0 \le a,b<2^{30}$$$.
См. протокол взаимодействия.
Чтобы вывести ответ, выведите "! a b" (без кавычек). Не забудьте сбросить буфер вывода после того, как выведете ответ.
Чтобы задать вопрос, выведите "? c d" (без кавычек). $$$c$$$ и $$$d$$$ должны быть неотрицательными целыми числами, меньшими $$$2^{30}$$$. Не забудьте сбросить буфер вывода после того, как зададите вопрос.
После каждого вопроса вы должны считать ответ. Если программа жюри отвечает числом -2, это значит, что ваша программа задала больше, чем 62 запроса и должна завершиться.
Чтобы сбросить буфер вывода вы можете использовать:
Взломы:
Чтобы взломать решение другого участника, выведите два целых числа $$$a$$$ и $$$b$$$ $$$(0 \le a,b<2^{30})$$$.
1
-1
0
? 2 1
? 1 2
? 2 0
! 3 1
В примере из условия:
Загаданные числа: $$$a=3$$$, $$$b=1$$$.
В первом вопросе: $$$3 \oplus 2 = 1$$$ и $$$1 \oplus 1 = 0$$$, и ответ равен 1.
Во втором вопросе: $$$3 \oplus 1 = 2$$$ и $$$1 \oplus 2 = 3$$$, и ответ равен -1.
В третьем вопросе: $$$3 \oplus 2 = 1$$$ и $$$1 \oplus 0 = 1$$$, и ответ равен 0.
После этого программа выводит ответ и завершается.
Название |
---|