Universal Cup Judging System

Universal Cup

حد الوقت: 2.0 s حد الذاكرة: 1024 MB مجموع النقاط: 100 تفاعلية
الإحصائيات

นี่คือโจทย์แบบโต้ตอบ (interactive problem)

KUPC-kun เขียนโปรแกรมสำหรับแก้โจทย์ปัญหาต่อไปนี้

กำหนดต้นไม้ $T = (V, E)$ ที่มี $N$ จุดยอด สำหรับลำดับ $\{a_1, \dots, a_k\}$ ของจุดยอดของ $T$ ที่มีความยาว $k$ นิยามคะแนนของมันดังต่อไปนี้ - ให้ $d(u, v)$ เป็นจำนวนเส้นเชื่อมบนเส้นทางระหว่างจุดยอด $u$ และ $v$ ใน $T$ แล้วคะแนนคือ $\prod_{i=1}^k d(a_i, a_{(i \bmod k)+1})$

กำหนดสับเซต $S$ ของ $V$ มาให้ สำหรับแต่ละ $1 \le k \le N$ จงหาค่า $q_k$ ต่อไปนี้ - ผลรวมของคะแนนของทุกลำดับจุดยอด $\{a_1, \dots, a_k\}$ ที่มีความยาว $k$ ซึ่งสมาชิกทั้งหมดอยู่ใน $S$ มอดุโล $2^{61} - 1$

KUPC-kun เก็บข้อมูลของต้นไม้ $T$ ไว้เป็นความลับล่วงหน้า และยังคงใช้ $T$ เป็นต้นไม้ที่ป้อนให้กับโปรแกรมต่อไป

คุณกำลังพยายามกู้คืนข้อมูลของจุดยอดใบโดยใช้โปรแกรมข้างต้น เมื่อให้จำนวนจุดยอดของต้นไม้เป็น $N$ คุณสามารถถามคำถามต่อไปนี้ได้ไม่เกิน $N$ ครั้ง

  • เลือกสับเซต $S$ ของ $V$ และถามหาผลลัพธ์ของโปรแกรม

สมมติว่าโปรแกรมของ KUPC-kun ถูกต้อง จงระบุจุดยอดใบทั้งหมดที่อยู่ในต้นไม้ $T$ จากข้อมูลที่ได้ผ่านการถามคำถาม

ระบบตรวจไม่ปรับเปลี่ยนข้อมูลตามคำถาม (not adaptive) และต้นไม้ $T$ ถูกกำหนดตายตัวไว้ก่อนที่การโต้ตอบจะเริ่มต้นขึ้น

รูปแบบการโต้ตอบ

ขั้นแรก รับค่า $N$ จากข้อมูลนำเข้ามาตรฐาน ($2 \le N \le 50$)

สำหรับแต่ละคำถาม ให้พิมพ์ออกทางข้อมูลส่งออกมาตรฐานในรูปแบบต่อไปนี้

? s1s2...sN

ในที่นี้ $s_1s_2\cdots s_N$ คือสตริงความยาว $N$ ที่แทนสับเซต $S$ โดยที่ $s_i = 1$ ถ้า $i \in S$ และ $s_i = 0$ ถ้า $i \notin S$

สำหรับการตอบกลับ ข้อมูลต่อไปนี้จะถูกส่งมาจากข้อมูลนำเข้ามาตรฐาน

q1 q2 ... qN

เมื่อคุณระบุจุดยอดใบทั้งหมดได้แล้ว ให้แสดงคำตอบของคุณในรูปแบบต่อไปนี้

! t1t2...tN

ในที่นี้ $t_1t_2\cdots t_N$ คือสตริงความยาว $N$ โดยที่ $t_i = 1$ ถ้า $i$ เป็นจุดยอดใบ และ $t_i = 0$ ถ้าไม่ใช่จุดยอดใบ

หลังจากแสดงผลลัพธ์นี้แล้ว ให้จบการทำงานของโปรแกรมทันที

ทุกครั้งที่คุณพิมพ์ข้อมูลใดๆ ออกไป ให้ขึ้นบรรทัดใหม่ในตอนท้ายและสั่ง flush ข้อมูลส่งออกมาตรฐานเสมอ

ตัวอย่าง

ข้อมูลนำเข้าตัวอย่างที่ 1

5

0 8 0 32 0

0 44 108 968 3960

0 0 0 0 0

0 76 348 3336 22200

ข้อมูลส่งออกตัวอย่างที่ 1

? 00101

? 11001

? 10000

? 11111

! 11001

หมายเหตุ

สำหรับตัวอย่างแรก เซตของเส้นเชื่อมของต้นไม้ที่ระบบตรวจเก็บไว้เป็นความลับคือ $(1, 3), (2, 3), (3, 4), (4, 5)$

ในคำถามแรก $S = \{3, 5\}$

สังเกตว่า $d(3, 3) = 0, d(3, 5) = d(5, 3) = 2, d(5, 5) = 0$

ตัวอย่างเช่น มีลำดับจุดยอด $a$ ความยาว $2$ ที่สมาชิกอยู่ใน $S$ ทั้งหมด $4$ ลำดับดังต่อไปนี้

  • ถ้า $a = (3, 3)$ คะแนนของลำดับนี้คือ $d(3, 3) \times d(3, 3) = 0 \times 0 = 0$
  • ถ้า $a = (3, 5)$ คะแนนของลำดับนี้คือ $d(3, 5) \times d(5, 3) = 2 \times 2 = 4$
  • ถ้า $a = (5, 3)$ คะแนนของลำดับนี้คือ $d(5, 3) \times d(3, 5) = 2 \times 2 = 4$
  • ถ้า $a = (5, 5)$ คะแนนของลำดับนี้คือ $d(5, 5) \times d(5, 5) = 0 \times 0 = 0$

ระบบตรวจจึงตอบกลับมาเป็น $8$ สำหรับค่า $q_2$ ซึ่งเป็นเศษเหลือเมื่อนำ $0 + 4 + 4 + 0$ ไปหารด้วย $2^{61} - 1$

เมื่อคำนวณในทำนองเดียวกันสำหรับความยาวลำดับอื่นๆ เราจะได้คำตอบของระบบตรวจเป็น 0 8 0 32 0

จุดยอดใบของต้นไม้นี้คือจุดยอด $1, 2, 5$ และการแสดงผล ! 11001 เป็นการระบุจุดยอดใบได้อย่างถูกต้อง

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1529EditorialOpen题解jianglyView

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.