QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 1024 MB Total points: 100 Interactive

#18516. Игра: Двоичная строка

Statistics

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

Алиса и Боб играют в игру с двоичной строкой $s$ и фиксированным целым числом $k$. Изначально строка $t$ пуста. Игроки по очереди добавляют символ ('0' или '1') в конец $t$, начиная с Алисы.

Взаимодействие всегда продолжается до тех пор, пока к $t$ не будет добавлено ровно $k$ символов. Алиса выигрывает тогда и только тогда, когда итоговая строка $t$ содержит $s$ в качестве непрерывной подстроки. В противном случае выигрывает Боб.

Вы можете выбрать, играть за Алису или за Боба. Ваша цель — выиграть игру у жюри.

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

Каждый прогон тестов содержит несколько тестовых случаев. Сначала вы должны прочитать строку с целым числом $T$ ($1 \le T \le 100$), обозначающим количество тестовых случаев.

Для каждого тестового случая вы начинаете взаимодействие, читая в одной строке двоичную строку $s$ и целое число $k$ ($1 \le |s| \le k \le 100$), обозначающие число раундов и параметры игры. После этого выведите одно слово: Alice, если вы решаете играть за Алису, или Bob, если вы решаете играть за Боба. После этого игра начинается с пустой строки. Алиса делает первый ход. Когда ваш ход, выведите один символ: 0 или 1. Когда ход жюри, прочитайте один символ: 0 или 1. Игра заканчивается, когда текущая строка имеет длину $k$.

После каждой операции вывода вы должны сбросить буфер вывода. Например, в C++ вы можете использовать cout << endl; или cout.flush();.

Если вы выведете недопустимый токен, сделаете ход после окончания игры, не сбросите буфер или проиграете игру, вы получите Wrong Answer.

Примечание

В следующей таблице показан пример взаимодействия для образца. Строки в столбце «Жюри» читаются программой участника, а строки в столбце «Участник» выводятся программой участника.

Жюри Участник Пояснение
1 Один тестовый случай.
01 3 $s=\texttt{01}$ и $k=3$.
Alice Участник решает играть за Алису.
0 Алиса добавляет 0, так что $t=\texttt{0}$.
0 Боб добавляет 0, так что $t=\texttt{00}$.
1 Алиса добавляет 1, так что $t=\texttt{001}$. Алиса выигрывает, потому что $t$ содержит 01.

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.