QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 512 MB مجموع النقاط: 100 تفاعلية

#1834. เป็นกราฟออยเลอร์หรือไม่?

الإحصائيات

โจทย์นี้เป็นโจทย์แบบโต้ตอบ

เราได้ซ่อนกราฟไม่มีทิศทาง $G$ ที่มีจุดยอด $n$ จุดไว้จากคุณ รับประกันว่ากราฟเชื่อมต่อกันและไม่มีเส้นเชื่อมซ้ำหรือเส้นเชื่อมวนกลับเข้าตัวเอง

คุณสามารถถามคำถามรูปแบบต่อไปนี้ได้ไม่เกิน 60 ครั้ง:

  • พิจารณาสับเซต $S$ ของเซตจุดยอดทั้งหมดของ $G$ กราฟย่อยที่เหนี่ยวนำโดย $S$ มีเส้นเชื่อมกี่เส้น กล่าวอีกอย่างคือ มีเส้นเชื่อมใน $G$ กี่เส้นที่ปลายทั้งสองอยู่ใน $S$

เป้าหมายของคุณคือตรวจสอบว่ากราฟนี้มีวงจรออยเลอร์หรือไม่ วงจรออยเลอร์คือเส้นทางในกราฟที่ผ่านเส้นเชื่อมแต่ละเส้นพอดีหนึ่งครั้ง และเริ่มต้นกับสิ้นสุดที่จุดยอดเดียวกัน

โปรดทราบว่ากราฟ $G$ ถูกกำหนดไว้ก่อนเริ่มการโต้ตอบ กล่าวคือโปรแกรมโต้ตอบจะไม่ปรับกราฟตามคำถาม

ข้อมูลนำเข้า

บรรทัดแรกมีจำนวนเต็มหนึ่งจำนวน $n$ ($3 \le n \le 10^4$) ซึ่งเป็นจำนวนจุดยอดของ $G$ รับประกันว่า $G$ มีเส้นเชื่อมไม่เกิน $10^5$ เส้น เชื่อมต่อกัน และไม่มีเส้นเชื่อมซ้ำหรือเส้นเชื่อมวนกลับเข้าตัวเอง

การโต้ตอบ

เริ่มการโต้ตอบโดยอ่านบรรทัดที่มีจำนวนเต็ม $n$

หากต้องการทราบจำนวนเส้นเชื่อมในกราฟย่อยของ $G$ ที่เหนี่ยวนำโดยจุดยอด $k$ จุด $x_1,x_2,\ldots,x_k$ ให้พิมพ์บรรทัดในรูปแบบ ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$ และ $x_i$ ทุกค่าต่างกัน)

โปรแกรมกรรมการจะตอบกลับด้วยหนึ่งบรรทัดที่มีจำนวนเต็ม $m$ ซึ่งเป็นจำนวนเส้นเชื่อมดังกล่าว

หากคำถามของคุณไม่ถูกต้อง หรือคุณถามเกิน 60 ครั้ง โปรแกรมกรรมการจะพิมพ์ $-1$ และยุติการโต้ตอบ คุณจะได้รับผล “คำตอบผิด” โปรดยุติโปรแกรมของคุณทันทีเพื่อหลีกเลี่ยงผลตัดสินอื่น

เมื่อทราบแล้วว่ากราฟมีวงจรออยเลอร์หรือไม่ ให้พิมพ์หนึ่งบรรทัด: ! YES หากมีวงจรดังกล่าว และ ! NO หากไม่มี

หลังพิมพ์แต่ละบรรทัด อย่าลืมพิมพ์อักขระขึ้นบรรทัดใหม่และล้างบัฟเฟอร์เอาต์พุต มิฉะนั้นคุณจะได้รับผล “เกินขีดจำกัดเวลาว่าง”

ตัวอย่าง

ข้อมูลนำเข้า 1

3
1
0

ข้อมูลส่งออก 1

? 2 1 2
? 2 1 3
! NO

หมายเหตุ

กราฟที่ซ่อนอยู่ในตัวอย่างมีจุดยอด $3$ จุดและเส้นเชื่อม $(2,1)$ กับ $(2,3)$

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.