Universal Cup Judging System

Universal Cup

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

"Astra" adalah permainan papan yang indah di mana para pemain bergiliran menemukan rasi bintang dengan menandai bintang-bintangnya. Permainan ini merupakan perpaduan cerdas antara taktik dan strategi, dengan aturan yang ringkas dan intuitif sehingga mudah dipelajari dan cepat dimainkan.

problem_17758_1.png

Photo by @kavics004 on BoardGameGeek

Tinjau sebuah permainan dua pemain antara Alice dan Bob. Dalam permainan ini, terdapat rasi bintang berbentuk pohon, yang dapat dianggap sebagai graf terhubung yang terdiri dari $n$ bintang (bernomor dari $1$ hingga $n$) dan $(n - 1)$ sisi. Pada awalnya, hanya satu bintang $s$ yang ditandai. Alice dan Bob bergiliran menandai bintang-bintang yang tersisa sesuai dengan aturan berikut:

  • Setiap giliran, seorang pemain harus menandai setidaknya $1$ bintang dan paling banyak $k$ bintang.
  • Setiap bintang hanya dapat ditandai satu kali.
  • Misalkan $a_1, a_2, \cdots, a_p$ adalah bintang-bintang yang ditandai dalam satu giliran, sesuai urutan penandaannya:
    • Saat menandai $a_1$, bintang tersebut harus merupakan tetangga dari bintang yang sudah ditandai.
    • Untuk semua $2 \le i \le p$, saat menandai $a_i$, bintang tersebut harus merupakan tetangga dari $a_{i-1}$.

Dua bintang $u$ dan $v$ adalah tetangga jika keduanya terhubung langsung oleh sebuah sisi.

Pemain yang menandai bintang terakhir memenangkan rasi bintang tersebut. Diketahui bahwa Alice mendapat giliran pertama dan kedua pemain bermain secara optimal, untuk setiap $1 \le s \le n$, tentukan siapa yang akan memenangkan rasi bintang tersebut.

Masukan

Terdapat beberapa kasus uji. Baris pertama dari masukan berisi sebuah bilangan bulat $T$ ($1 \le T \le 100$), yang menyatakan banyaknya kasus uji. Untuk setiap kasus uji:

Baris pertama berisi dua bilangan bulat $n$ dan $k$ ($2 \le n \le 2 \times 10^3$, $1 \le k < n$), yang menyatakan banyaknya bintang dan jumlah maksimum bintang yang dapat ditandai pada setiap giliran.

Untuk $(n - 1)$ baris berikutnya, baris ke-$i$ berisi dua bilangan bulat $u_i$ dan $v_i$ ($1 \le u_i, v_i \le n$), yang menyatakan bahwa terdapat sisi yang menghubungkan bintang $u_i$ dan $v_i$.

Dijamin bahwa jumlah $n$ di seluruh kasus uji tidak melebihi $2 \times 10^3$.

Keluaran

Untuk setiap kasus uji, cetak satu baris yang berisi sebuah string $d_1 d_2 \cdots d_n$ ($d_i \in \{0, 1\}$), di mana $d_i$ menyatakan siapa yang akan memenangkan rasi bintang ketika $s = i$. Jika Alice menang, maka $d_i = 1$; sebaliknya, jika Bob menang, maka $d_i = 0$.

Contoh

Masukan 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

Keluaran 1

011000
000
101

Catatan

problem_17758_2.png

Kasus uji contoh pertama diilustrasikan di atas.

  • Tinjau $s = 1$. Pada giliran pertama, Alice memiliki tiga pilihan: menandai $\{2\}$, $\{2, 3\}$, atau $\{2, 6\}$. Jika Alice memilih $\{2, 6\}$, Bob kemudian dapat menandai $\{3\}$, dan akan tersisa $2$ bintang yang terpisah. Pada giliran-giliran berikutnya, setiap pemain hanya dapat menandai satu bintang, dan Bob akan menjadi pemenangnya. Pilihan Alice yang lain dapat dianalisis dengan cara serupa.
  • Tinjau $s = 2$. Pada giliran pertama, Alice memiliki lima pilihan: menandai $\{1\}$, $\{3\}$, $\{6\}$, $\{3, 4\}$, atau $\{3, 5\}$. Alice dapat memilih untuk menandai $\{3\}$, dan akan tersisa $4$ bintang yang terpisah. Pada giliran-giliran berikutnya, setiap pemain hanya dapat menandai satu bintang, dan Alice akan menjadi pemenangnya.

Untuk kasus uji contoh kedua, karena $k = 1$, akan ada tepat $3 - 1 = 2$ giliran, sehingga Bob akan selalu menjadi pemenangnya.

Untuk kasus uji contoh ketiga, jika $s = 1$ atau $s = 3$, Alice dapat langsung menandai $2$ bintang yang tersisa dan memenangkan rasi bintang tersebut.

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.