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.