Universal Cup Judging System

Universal Cup

時間限制: 1.0 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓
统计

«Astra» — это красивая настольная игра, в которой игроки по очереди открывают созвездия, отмечая звёзды. Эта игра представляет собой искусное сочетание тактики и стратегии с простым и интуитивно понятным набором правил, благодаря которому её легко освоить и быстро разыграть.

problem_17758_1.png

Photo by @kavics004 on BoardGameGeek

Рассмотрим игру для двух игроков между Алисой и Бобом. В этой игре есть древовидное созвездие, которое можно рассматривать как связный граф, состоящий из $n$ звёзд (пронумерованных от $1$ до $n$) и $(n - 1)$ рёбер. В самом начале отмечена только одна звезда $s$. Алиса и Боб по очереди отмечают оставшиеся звёзды по следующему правилу:

  • В каждый ход игрок должен отметить хотя бы $1$ звезду и не более $k$ звёзд.
  • Каждую звезду можно отметить только один раз.
  • Пусть $a_1, a_2, \cdots, a_p$ — звёзды, отмеченные за один ход, в порядке их отмечания:
    • При отмечании $a_1$ она должна быть соседом некоторой уже отмеченной звезды.
    • Для всех $2 \le i \le p$, при отмечании $a_i$ она должна быть соседом $a_{i-1}$.

Две звезды $u$ и $v$ называются соседями, если они напрямую соединены ребром.

Игрок, отметивший последнюю звезду, выигрывает созвездие. Считая, что Алиса ходит первой и оба игрока играют оптимально, для каждого $1 \le s \le n$ определите, кто выиграет созвездие.

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

Входные данные состоят из нескольких тестовых наборов. Первая строка входных данных содержит целое число $T$ ($1 \le T \le 100$), обозначающее количество тестовых наборов. Для каждого тестового набора:

Первая строка содержит два целых числа $n$ и $k$ ($2 \le n \le 2 \times 10^3$, $1 \le k < n$), обозначающих количество звёзд и максимальное количество звёзд, которые можно отметить за один ход.

В следующих $(n - 1)$ строках $i$-я строка содержит два целых числа $u_i$ и $v_i$ ($1 \le u_i, v_i \le n$), обозначающих наличие ребра, соединяющего звёзды $u_i$ и $v_i$.

Гарантируется, что сумма $n$ по всем тестовым наборам не превышает $2 \times 10^3$.

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

Для каждого тестового набора выведите одну строку, содержащую строку $d_1 d_2 \cdots d_n$ ($d_i \in \{0, 1\}$), где $d_i$ указывает, кто выиграет созвездие при $s = i$. Если выиграет Алиса, то $d_i = 1$; иначе, если выиграет Боб, то $d_i = 0$.

Пример

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

3
6 2
1 2
3 2
3 4
5 3
2 6
3 1
1 2
2 3
3 2
1 2
2 3

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

011000
000
101

Примечание

problem_17758_2.png

Первый тестовый набор из примера проиллюстрирован выше.

  • Рассмотрим $s = 1$. На первом ходу у Алисы есть три варианта: отметить $\{2\}$, $\{2, 3\}$ или $\{2, 6\}$. Если Алиса выберет $\{2, 6\}$, Боб затем может отметить $\{3\}$, и останется $2$ разъединённые звезды. На следующих ходах каждый игрок сможет отмечать только по одной звезде, и победителем станет Боб. Другие варианты хода Алисы анализируются аналогично.
  • Рассмотрим $s = 2$. На первом ходу у Алисы есть пять вариантов: отметить $\{1\}$, $\{3\}$, $\{6\}$, $\{3, 4\}$ или $\{3, 5\}$. Алиса может выбрать $\{3\}$, и останется $4$ разъединённые звезды. На следующих ходах каждый игрок сможет отмечать только по одной звезде, и победительницей станет Алиса.

Во втором тестовом наборе из примера, так как $k = 1$, будет ровно $3 - 1 = 2$ хода, поэтому Боб всегда выигрывает.

В третьем тестовом наборе из примера, если $s = 1$ или $s = 3$, Алиса может сразу отметить оставшиеся $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.