atcoder#ARC121C. [ARC121C] Odd Even Sort

[ARC121C] Odd Even Sort

配点 : 500500

問題文

(1,2,,N)(1,2, \ldots, N) を並び替えた数列 pp が与えられます。 はじめ、pp の第 nn 項は pnp_{n} です。

あなたの目的は N2N^2 回以下 操作 を行い pp を昇順に並び替えることです。 あなたは操作により以下のように pp を変更することができます。

  • 奇数 回目の操作では 11 以上 N1N-1 以下の 奇数 nn を選んで pnp_npn+1p_{n+1} を入れ替えます。
  • 偶数 回目の操作では 22 以上 N1N-1 以下の 偶数 nn を選んで pnp_npn+1p_{n+1} を入れ替えます。

この問題の制約下で必ず目的を達成できることが証明できます。 そのような操作列を 11 つ求めてください。

TT 個のテストケースが与えられるのでそれぞれについて答えを求めてください。

制約

  • 与えられる入力は全て整数
  • 1T2501 \leq T \leq 250
  • 2N5002 \leq N \leq 500
  • 1piN1 \leq p_i \leq N
  • pp(1,2,,N)(1,2,\ldots,N) を並び替えて得られる。
  • 11 つの入力ファイルにおいて NN の総和は 500500 を超えない。

入力

入力は以下の形式で標準入力から与えられる。

TT

case1\mathrm{case}_{1}

\vdots

caseT\mathrm{case}_{T}

各テストケースは以下の形式で与えられる。

NN

p1p_1 \cdots pNp_N

出力

TT 個のテストケースについて与えられた順番に以下の形式で答えを出力せよ。

MM

a1a_1 \cdots aMa_M

MM は操作列の長さを表し、aia_iii 回目の操作で選んだ整数を表す。

全てのテストケースにおいて目的が達成される操作列が出力されたならば正解となる。

2
5
2 1 3 5 4
2
1 2
2
1 4
0
  • 11 つ目のテストケースについて説明します。- 11 回目の操作で 11 を選ぶと pp(1,2,3,5,4)(1,2,3,5,4) となります。
    • 22 回目の操作で 44 を選ぶと pp(1,2,3,4,5)(1,2,3,4,5) となります。
    • (1,4)(1,4) は操作列として正しいですが、(4,1)(4,1) は操作列として正しくないことに注意してください。
  • 11 回目の操作で 11 を選ぶと pp(1,2,3,5,4)(1,2,3,5,4) となります。
  • 22 回目の操作で 44 を選ぶと pp(1,2,3,4,5)(1,2,3,4,5) となります。
  • (1,4)(1,4) は操作列として正しいですが、(4,1)(4,1) は操作列として正しくないことに注意してください。
  • 操作を 11 度も行わなくともよいこと、操作回数を最小にする必要はないことに注意してください。