キーの値の列が与えられる。この入力列をソートするのに必要な交換操作の 必要回数を計算するプログラムを書け(Subtask A)。さらに、Subtask Aの答 を実現するソーティングに対応する交換操作の列を一つ示せ。
入力データ
ファイル INPUT.TXT の最初の行にはキーの数 N (1≦N≦1000) が 書いてある。それに続く N 行にはそれぞれのキーの値が書いてある。
出力データ
ファイル OUTPUT.TXT の最初の行には、ソートを行なうのに必要な交換操作の 最小回数 L を書け(Subtask A)。それに続く L 行には、解となる ソーティングに対応する交換操作の列をその実行順に書け。各行には、 交換される2つの要素の位置を表わす2つの数を書け(Subtask B)。 位置は1から N までの整数で表わされているものとする。
入出力例
次は、ある入力ファイルと、それに対応する出力ファイルの例である。
INPUT.TXT OUTPUT.TXT --------- ---------- 9 4 2 1 3 2 4 7 1 2 9 3 5 9 3 3 2 3 1