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.