409554: GYM103630 F Рудольф и пчёлы

Memory Limit:0 MB Time Limit:0 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

F. Рудольф и пчёлыограничение по времени на тест3 секундыограничение по памяти на тест256 мегабайтвводстандартный вводвыводстандартный вывод

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

Рудольф очень любит мёд, и поэтому решил оборудовать пасеку и купить пчёл. Но не обычных, а очень умных. Настолько умных, что $$$N$$$ из них предложили сыграть в игру.

В этой игре есть бесконечная пчелиная сота, ячейки которой изначально пустые. Далее игра проходит следующим образом.

  • Рудольф заполняет любую свободную ячейку мёдом.
  • Каждая из $$$N$$$ пчёл по очереди заполняет любую свободную ячейку мёдом.
  • Процесс повторяется до тех пор, пока Рудольф либо не выиграет, либо не сделает $$$50 \cdot N$$$ ходов.

Рудольф выигрывает, если в какой-то момент времени появится ячейка, которая не заполнена мёдом, а ячейки вокруг неё заполнены. При этом не важно, после чьего хода произошла такая ситуация. На рисунках изображены примеры состояний сот в некоторый момент времени. На первом рисунке изображена выигрышная позиция, на втором Рудольф еще не выиграл.

Выигрышная позицияПромежуточная позиция

Для удобства Рудольф и пчелы договорились наложить координатную ось на игровое поле следующим образом.

Помогите Рудольфу обыграть пчёл.

Входные данные

Первая строка содержит одно целое число $$$N$$$ $$$(1 \leq N \leq 30)$$$ — количество пчёл.

Выходные данные

Когда позиция становится выигрышной, вам на вход будет подана строка «You win!». После этого ваша программа должна завершиться.

Протокол взаимодействия

Чтобы заполнить ячейку мёдом, выведите в стандартный поток два целых числа $$$X, Y (|X, Y| \leq 10^3)$$$, где $$$X$$$ и $$$Y$$$ — координаты ячейки в заданной системе координат. Ячейка должна быть пустой перед запросом.

В ответ на этот запрос придет $$$N$$$ строк. $$$i$$$-я строка содержит два целых числа $$$X_i, Y_i (|X_i, Y_i| \leq 10^3)$$$ — координаты ячейки, которую заполняет $$$i$$$-я пчела. Гарантируется, что заполняемые ячейки перед их ходом свободны.

Когда ситуация становится выигрышной, вам на вход подаётся строка «You win!». После этого ваша программа должна завершиться. Заметьте, что ситуация может стать выигрышной как после вашего хода, так и после хода пчёл. Во втором случае строка будет подана сразу после хода, который сделал ситуацию выигрышной. Смотрите пример для лучшего понимания.

Если вы сделаете более $$$50 \cdot N$$$ запросов или сделаете некорректный запрос, решение получит вердикт «Неправильный ответ».

Если в какой-то момент ваша программа ничего не будет выводить или вы забудете выполнить операцию $$$flush$$$ после вывода вопроса или ответа, решение получит вердикт «Решение зависло».

Чтобы выполнить операцию $$$flush$$$, можно использовать (сразу после вывода запроса и перевода строки):

  • fflush(stdout) в C++;
  • System.out.flush() в Java;
  • stdout.flush() в Python;
  • flush(output) в Pascal;
ПримерВходные данные
3

0 1
-1 1
1 1

2 -1
2 0
You win!
Выходные данные
0 0

1 -1

加入题单

上一题 下一题 算法标签: