QOJ.ac

QOJ

时间限制: 1 s 内存限制: 2048 MB 总分: 100 交互

#14447. Охота за сокровищами

统计

Где-то в сетке $5 \times 5$ спрятан сундук с сокровищами размером $2 \times 2$. Строки пронумерованы от 1 до 5, так же как и столбцы, при этом ячейка $(1, 1)$ является левым верхним углом сетки. Ваша цель — найти сокровище, сделав не более 5 запросов. Вы можете отправить запрос к любой ячейке сетки, чтобы узнать, находится ли в ней какая-либо часть сундука. После выполнения не более 5 запросов вы должны вывести координаты левого верхнего угла сундука.

На рисунке ниже показан пример расположения сундука $2 \times 2$ в сетке $5 \times 5$.

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

Ваша программа может сделать до 5 запросов о местоположении сокровища. Чтобы сделать запрос, выведите новую строку вида:

? i j

где $i$ и $j$ — целые числа от 1 до 5. Вы спрашиваете, содержит ли ячейка в $i$-й строке и $j$-м столбце часть сундука. После каждого запроса интерактор ответит $0$, если ячейка не содержит никакой части сокровища, или $1$, если содержит.

Определив правильный ответ, выведите его на новой строке в виде:

! i j

указывая координаты левого верхнего угла сундука. После вывода ответа ваша программа должна завершиться. Если вы попытаетесь прочитать ответ после вывода результата, вы получите произвольный вердикт.

Не забудьте сбросить буфер вывода после каждого отправленного запроса.

Если интерактор получит некорректные или неожиданные данные, он выведет $-1$ и немедленно завершит работу. Ваша программа должна корректно завершиться, чтобы получить вердикт «верно», в противном случае полученный вердикт может быть произвольным, указывающим на то, что ваше решение неверно.

Для тестирования предоставляется инструмент на языке Python. Используйте его следующим образом (возможно, вам придется заменить python3 на python):

python3 testing_tool.py However-you-run-your-program

Инструмент предоставляется «как есть», и вы можете свободно вносить в него любые изменения или дополнения. Инструмент пытается обнаруживать и сообщать о распространенных ошибках, но нет гарантии, что программа, прошедшая проверку этим инструментом, будет принята.

Примеры

Read Write
? 3 3
0
? 2 2
1
? 1 1
0
? 1 3
1
! 1 2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.