QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 512 MB Total points: 100 Interactive

#1834. أويلري؟

Statistics

هذه المسألة تفاعلية.

أخفينا عنك رسمًا بيانيًا غير موجه $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.