QOJ.ac

QOJ

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

#1834. Có phải đồ thị Euler?

Statistics

Đây là bài toán tương tác.

Chúng tôi đã giấu một đồ thị vô hướng $G$ gồm $n$ đỉnh. Đồ thị được đảm bảo liên thông và không có cạnh bội hay khuyên.

Bạn có thể thực hiện tối đa 60 truy vấn có dạng sau:

  • Xét một tập con $S$ của tập đỉnh của $G$. Đồ thị con cảm sinh bởi $S$ có bao nhiêu cạnh? Nói cách khác, có bao nhiêu cạnh trong $G$ có cả hai đầu mút thuộc $S$?

Mục tiêu của bạn là xác định xem đồ thị này có chu trình Euler hay không. Chu trình Euler là một đường đi trong đồ thị đi qua mỗi cạnh đúng một lần, bắt đầu và kết thúc tại cùng một đỉnh.

Lưu ý rằng đồ thị $G$ được cố định trước khi bắt đầu tương tác. Nói cách khác, trình tương tác không thích nghi theo truy vấn.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên $n$ ($3 \le n \le 10^4$), là số đỉnh của $G$. Đảm bảo rằng $G$ có không quá $10^5$ cạnh, liên thông và không có cạnh bội hay khuyên.

Giao tiếp

Bạn bắt đầu tương tác bằng cách đọc một dòng chứa số nguyên $n$.

Để biết số cạnh trong đồ thị con của $G$ cảm sinh bởi $k$ đỉnh $x_1,x_2,\ldots,x_k$, in một dòng theo định dạng ? k x1 x2 ... xk ($0 \le k \le n$, $1 \le x_i \le n$, mọi $x_i$ đôi một khác nhau).

Để trả lời, chương trình của ban giám khảo sẽ in một dòng chứa một số nguyên $m$: số cạnh như vậy.

Nếu truy vấn không hợp lệ hoặc bạn thực hiện quá 60 truy vấn, chương trình của ban giám khảo sẽ in $-1$ rồi kết thúc tương tác. Bạn sẽ nhận kết quả “Sai đáp án”. Hãy kết thúc chương trình ngay lập tức để tránh nhận kết quả khác.

Khi đã xác định đồ thị có chu trình Euler hay không, in một dòng duy nhất: ! YES nếu chu trình như vậy tồn tại, và ! NO nếu không tồn tại.

Sau khi in mỗi dòng, đừng quên in ký tự xuống dòng và đẩy hết bộ đệm đầu ra. Nếu không, bạn sẽ nhận kết quả “Vượt quá giới hạn không hoạt động”.

Ví dụ

Dữ liệu vào 1

3
1
0

Dữ liệu ra 1

? 2 1 2
? 2 1 3
! NO

Ghi chú

Đồ thị ẩn trong ví dụ gồm $3$ đỉnh và các cạnh $(2,1)$ và $(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.