Universal Cup Judging System

Universal Cup

Time Limit: 2 s Memory Limit: 1024 MB Total points: 100 Difficulty: [show]
Statistics

Kamome thích vẽ theo phong cách Shiratama. Người ra đề quá lười để viết một câu chuyện, vì vậy chúng ta sẽ đi thẳng vào vấn đề. Bức vẽ của Kamome có thể được trừu tượng hóa thành $p_1, p_2, \dots, p_{2n}$, là một hoán vị của $1 \sim 2n$. Bạn cần sắp xếp $p$ bằng cách sử dụng tối đa $2n$ phép toán loại 1 và $2n^2$ phép toán loại 2.

  • Phép toán 1: Đồng thời đổi chỗ $p_i$ và $p_{i+1}$ với mọi $i = 1, 3, \dots, 2n-1$.
  • Phép toán 2: Kamome chọn một $i$ chẵn ($1 \le i \le 2n$) và đổi chỗ $p_i$ và $p_{i+1}$. Coi $p_{2n+1}$ là $p_1$.

Tuy nhiên, đôi khi không thể sắp xếp hoán vị này bằng các phép toán trên. Trong trường hợp đó, hãy báo cáo điều đó.

Dữ liệu vào

Mỗi bộ dữ liệu vào chứa nhiều test case. Dòng đầu tiên chứa một số nguyên $t$ ($1 \le t \le 10^5$) chỉ số lượng test case. Tiếp theo là mô tả của các test case.

Dòng đầu tiên của mỗi test case chứa một số nguyên $n$ ($1 \le n \le 100$, $\sum n^2 < 10^6$), độ dài của hoán vị. Dòng thứ hai chứa $2n$ số nguyên $p_1, p_2, \dots, p_{2n}$ ($1 \le p_i \le 2n$, $p_i \ne p_j$ với $1 < i < j \le 2n$), biểu diễn hoán vị.

Dữ liệu ra

Với mỗi test case, nếu không thể sắp xếp hoán vị, in ra từ NO. Ngược lại, in ra ba dòng. Dòng đầu chứa từ YES, dòng thứ hai chứa một số nguyên $k$ ($0 \le k \le 2n^2 + 2n$), và dòng thứ ba chứa $k$ số nguyên $a_1, a_2, \dots, a_k$ ($a_i \in \{1\} \cup \{2, 4, \dots, 2n\}$). Nếu $a_i = 1$, tức là thực hiện phép toán 1; ngược lại, thực hiện phép toán 2 với $x = a_i$.

Lưu ý rằng bạn không được sử dụng phép toán 1 quá $2n$ lần và phép toán 2 quá $2n^2$ lần. Nếu có nhiều đáp án khả thi, bạn có thể in ra bất kỳ đáp án nào.

Ví dụ

Đầu vào 1

3
2
1 3 4 2
2
2 4 1 3
3
1 2 4 3 5 6

Đầu ra 1

NO
YES
2
2 1
YES
7
2 4 1 6 1 2 4

Ghi chú

Phép biến đổi của hoán vị trong test case 2 như sau: $[2, 1, 3] \to [2, 1, 4, 3] \to [1, 2, 3, 4]$.

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.