QOJ.ac

QOJ

実行時間制限: 2.0 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#17746. Giám sát hải ly

統計

Cơ sở hạ tầng Công nghệ của các Thợ mộc Cần cù được Giám sát (MITIT) bao gồm $N$ con hải ly được đánh số từ $1, \dots, N$. Có $M$ cặp hải ly $(u_i, v_i)$, trong đó ban đầu, hải ly $u_i$ chịu trách nhiệm giám sát hải ly $v_i$. Mỗi con hải ly đều được giám sát bởi ít nhất một con hải ly khác.

Busy Beaver, quản lý của MITIT, muốn cấu hình lại các mối quan hệ giám sát này. Trong một thao tác, anh ta có thể chọn một cặp $(u, v)$ trong đó hải ly $u$ hiện đang giám sát hải ly $v$ và thay đổi thành hải ly $v$ giám sát hải ly $u$. Tuy nhiên, anh ta phải đảm bảo rằng mọi con hải ly đều được giám sát bởi ít nhất một con hải ly khác tại mọi thời điểm.

Cấu hình cuối cùng mong muốn của Busy Beaver có thể được mô tả bằng một chuỗi $d$ có độ dài $M$, trong đó $d_i = 0$ nếu hải ly $u_i$ giám sát hải ly $v_i$ ở trạng thái cuối cùng và $d_i = 1$ nếu hải ly $v_i$ giám sát hải ly $u_i$ ở trạng thái cuối cùng. Hãy tìm một dãy thao tác ngắn nhất cần thiết để đạt được cấu hình cuối cùng này, hoặc thông báo rằng điều đó là không thể.

Dữ liệu vào

Mỗi bài kiểm tra chứa nhiều trường hợp thử nghiệm. Dòng đầu tiên chứa số lượng trường hợp thử nghiệm $T$ ($1 \le T \le 10^4$). Tiếp theo là mô tả của các trường hợp thử nghiệm.

Dòng đầu tiên của mỗi trường hợp thử nghiệm chứa hai số nguyên $N$ và $M$ ($3 \le N \le M \le 10^5$).

Dòng thứ $i$ trong $M$ dòng tiếp theo chứa hai số nguyên $u_i$ và $v_i$ ($1 \le u_i, v_i \le N, u_i \ne v_i$). Không tồn tại $1 \le i < j \le M$ sao cho $(u_i, v_i) = (u_j, v_j)$ hoặc $(u_i, v_i) = (v_j, u_j)$.

Dòng tiếp theo chứa một chuỗi $d_1 \dots d_M$, trong đó $d_i \in \{0, 1\}$ với mọi $1 \le i \le M$.

Đảm bảo rằng trong cả cấu hình ban đầu và cấu hình cuối cùng, mỗi con hải ly đều được giám sát bởi ít nhất một con hải ly khác.

Đảm bảo rằng tổng $N$ trên tất cả các trường hợp thử nghiệm không vượt quá $10^5$.

Đảm bảo rằng tổng $M$ trên tất cả các trường hợp thử nghiệm không vượt quá $10^5$.

Dữ liệu ra

Đối với mỗi trường hợp thử nghiệm, nếu nhiệm vụ là không thể, hãy xuất ra một số nguyên duy nhất $-1$.

Nếu không, trước tiên hãy xuất ra một số nguyên $K$, số lượng thao tác được sử dụng. Trên dòng tiếp theo, xuất ra $K$ số nguyên $a_1, \dots, a_K$ ($1 \le a_i \le M$), biểu thị rằng giải pháp của bạn thực hiện các thao tác trên $(u_{a_i}, v_{a_i})$ theo thứ tự.

Nhiệm vụ con

Để đạt điểm tối đa, $K$ phải luôn là số lượng thao tác tối thiểu có thể. Nếu không, bạn sẽ nhận được $50\%$ số điểm cho mỗi nhiệm vụ con nếu bạn xuất ra chính xác bất kỳ dãy thao tác hợp lệ nào mà tổng $K$ trên tất cả các trường hợp thử nghiệm không vượt quá $10^6$.

  • ($50$ điểm) $M \le 300$.
  • ($50$ điểm) Không có ràng buộc bổ sung.

Ví dụ

Dữ liệu vào Dữ liệu ra
3
4 5
1 2
2 3
3 1
1 4
4 3
11000
6 6
1 2
2 3
3 1
4 5
5 6
6 4
111111
3 3
1 2
2 3
3 1
000
2
1 2
-1
0

Ghi chú

Các thao tác trong trường hợp thử nghiệm đầu tiên được hiển thị bên dưới. Lưu ý rằng việc thực hiện các thao tác theo thứ tự ngược lại là không chấp nhận được vì hải ly $2$ phải được giám sát tại mọi thời điểm.

Trong trường hợp thử nghiệm thứ hai, không thể đạt được cấu hình cuối cùng.

Trong trường hợp thử nghiệm thứ ba, không cần thực hiện thao tác nào.

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.