QOJ.ac

QOJ

Süre Sınırı: 1.5 s Bellek Sınırı: 512 MB Toplam puan: 100 Hack'lenebilir ✓

#6838. 你只需要假設

İstatistikler

JB 相信,解決問題只需要假設。為咗證明呢一點,JB 畀咗你兩個由 $1$ 到 $n$ 嘅數組成嘅排列 $A$ 同 $B$,並且想你輸出一串喺 $A$ 上交換元素嘅操作 $(x_i,y_i)$,令到:

  1. 每對交換嘅元素都構成逆序對(即係執行第 $i$ 次操作嗰陣,$x_i<y_i$ 而且 $A_{x_i}>A_{y_i}$)。

  2. 完成成串交換之後,$A$ 會變成 $B$。

又或者判斷呢件事做唔到。解決呢個問題,幫手證明 JB 嘅信念啦!

輸入格式

有多組測試資料。輸入第一行包含一個整數 $T$,代表測試資料嘅組數。對於每組測試資料:

第一行包含一個整數 $n$($1\le n\le 2021$),代表 $A$ 同 $B$ 嘅元素數目。

第二行包含 $n$ 個互不相同嘅整數 $A_1,A_2,\ldots,A_n$($1\le A_i\le n$),代表陣列 $A$。

第三行包含 $n$ 個互不相同嘅整數 $B_1,B_2,\ldots,B_n$($1\le B_i\le n$),代表陣列 $B$。

保證所有測試資料嘅 $n$ 加埋唔超過 $2021$。

輸出格式

對於每組測試資料,如果冇呢種序列,就輸出一行,包含一個整數 -1。

否則,第一行輸出一個整數 $k$($0\le k\le \frac{n(n-1)}2$),代表交換序列嘅長度。跟住輸出 $k$ 行,每行包含兩個整數 $x_i$ 同 $y_i$($1\le x_i<y_i\le n$),代表第 $i$ 次操作 $\operatorname{swap}(A_{x_i},A_{y_i})$。

樣例

輸入格式 1

3
2
1 2
2 1
4
4 1 2 3
1 3 2 4
8
8 7 6 5 4 3 2 1
1 8 7 6 5 4 3 2

輸出格式 1

-1
2
1 2
2 4
7
7 8
6 7
5 6
4 5
3 4
2 3
1 2

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.