ABC-350
A
解法
B
解法
C
https://atcoder.jp/contests/abc350/tasks/abc350_c
#貪欲法
N = Integer().contentA = IntegerList().contentans = []
for i in range(N): while i+1!=A[i]: ans.append((i+1, A[i])) tmp = A[A[i]-1] A[A[i]-1] = A[i] A[i] = tmp
print(len(ans))for i in ans: print(*i)
解法
番目順にになるまでを続けると題意を満たせる。 また、はまでの非重複数列なので、多くても回程度の操作で題意を満たせるので、と表せられるので十分に高速である。
D
解法
E