Олимпиадный тренинг

Задача . D. Ехаб и еще одна очередная задача на xor


Это интерактивная задача!

Ехаб играет в игру с Лагги. Ехаб имеет два загаданных числа \((a,b)\). Лагги может сказать пару чисел \((c,d)\) и Ехаб ответит:

  • 1 если \(a \oplus c>b \oplus d\).
  • 0 если \(a \oplus c=b \oplus d\).
  • -1 если \(a \oplus c<b \oplus 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 запроса и должна завершиться.

Чтобы сбросить буфер вывода вы можете использовать:

  • fflush(stdout) в C++.
  • System.out.flush() в Java.
  • stdout.flush() в Python.
  • flush(output) в Pascal.
  • Прибегните к документации других языков.

Взломы:

Чтобы взломать решение другого участника, выведите два целых числа \(a\) и \(b\) \((0 \le a,b<2^{30})\).

Примечание

В примере из условия:

Загаданные числа: \(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.

После этого программа выводит ответ и завершается.


Примеры
Входные данныеВыходные данные
1 1
-1
0
? 2 1
? 1 2
? 2 0
! 3 1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя