Universal Cup Judging System

Universal Cup

Time Limit: 1.0 s Memory Limit: 1024 MB Total points: 100 Hackable ✓
Statistics

„Astra“ ist ein wunderschönes Brettspiel, bei dem die Spieler abwechselnd Sternbilder entdecken, indem sie die Sterne markieren. Dieses Spiel ist eine clevere Mischung aus Taktik und Strategie, mit einem schlanken und intuitiven Regelwerk, durch das es leicht zu erlernen und schnell zu spielen ist.

problem_17758_1.png

Photo by @kavics004 on BoardGameGeek

Betrachten Sie ein Zwei-Spieler-Spiel zwischen Alice und Bob. In diesem Spiel gibt es ein baumförmiges Sternbild, das als zusammenhängender Graph bestehend aus $n$ Sternen (nummeriert von $1$ bis $n$) und $(n - 1)$ Kanten betrachtet werden kann. Zu Beginn ist nur ein einziger Stern $s$ markiert. Alice und Bob markieren abwechselnd die verbleibenden Sterne nach folgender Regel:

  • In jedem Zug muss ein Spieler mindestens $1$ Stern und höchstens $k$ Sterne markieren.
  • Jeder Stern kann nur einmal markiert werden.
  • Seien $a_1, a_2, \cdots, a_p$ die in einem Zug markierten Sterne in der Reihenfolge, in der sie markiert werden:
    • Beim Markieren von $a_1$ muss dieser ein Nachbar eines bereits markierten Sterns sein.
    • Für alle $2 \le i \le p$ muss beim Markieren von $a_i$ dieser ein Nachbar von $a_{i-1}$ sein.

Zwei Sterne $u$ und $v$ sind Nachbarn, wenn sie direkt durch eine Kante verbunden sind.

Der Spieler, der den letzten Stern markiert, gewinnt das Sternbild. Da Alice am Zug beginnt und beide Spieler optimal spielen, bestimmen Sie für jedes $1 \le s \le n$, wer das Sternbild gewinnen wird.

Eingabe

Es gibt mehrere Testfälle. Die erste Zeile der Eingabe enthält eine ganze Zahl $T$ ($1 \le T \le 100$), die die Anzahl der Testfälle angibt. Für jeden Testfall:

Die erste Zeile enthält zwei ganze Zahlen $n$ und $k$ ($2 \le n \le 2 \times 10^3$, $1 \le k < n$), die die Anzahl der Sterne und die maximale Anzahl der in jedem Zug markierten Sterne angeben.

In den folgenden $(n - 1)$ Zeilen enthält die $i$-te Zeile zwei ganze Zahlen $u_i$ und $v_i$ ($1 \le u_i, v_i \le n$), was angibt, dass es eine Kante gibt, die die Sterne $u_i$ und $v_i$ verbindet.

Es wird garantiert, dass die Summe von $n$ über alle Testfälle hinweg $2 \times 10^3$ nicht überschreitet.

Ausgabe

Geben Sie für jeden Testfall eine Zeile mit einer Zeichenkette $d_1 d_2 \cdots d_n$ ($d_i \in \{0, 1\}$) aus, wobei $d_i$ angibt, wer das Sternbild gewinnt, wenn $s = i$ ist. Wenn Alice gewinnt, ist $d_i = 1$; andernfalls, wenn Bob gewinnt, ist $d_i = 0$.

Beispiel

Eingabe 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

Ausgabe 1

011000
000
101

Hinweis

problem_17758_2.png

Der erste Beispiel-Testfall ist oben dargestellt.

  • Betrachten Sie $s = 1$. Im ersten Zug hat Alice drei Möglichkeiten: $\{2\}$, $\{2, 3\}$ oder $\{2, 6\}$ zu markieren. Wenn Alice $\{2, 6\}$ wählt, kann Bob anschließend $\{3\}$ markieren, und es bleiben $2$ getrennte Sterne übrig. In den folgenden Zügen kann jeder Spieler nur jeweils einen Stern markieren, und Bob wird der Gewinner sein. Alices andere Möglichkeiten können auf ähnliche Weise analysiert werden.
  • Betrachten Sie $s = 2$. Im ersten Zug hat Alice fünf Möglichkeiten: $\{1\}$, $\{3\}$, $\{6\}$, $\{3, 4\}$ oder $\{3, 5\}$ zu markieren. Alice kann wählen, $\{3\}$ zu markieren, und es bleiben $4$ getrennte Sterne übrig. In den folgenden Zügen kann jeder Spieler nur jeweils einen Stern markieren, und Alice wird die Gewinnerin sein.

Im zweiten Beispiel-Testfall gibt es wegen $k = 1$ genau $3 - 1 = 2$ Züge, sodass Bob immer der Gewinner ist.

Im dritten Beispiel-Testfall kann Alice, falls $s = 1$ oder $s = 3$ ist, direkt die verbleibenden $2$ Sterne markieren und das Sternbild gewinnen.

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.