#P7128. 「RdOI R1」序列(sequence)
「RdOI R1」序列(sequence)
题目描述
有一序列 ,长度为 ,序列中的每个数只出现一次。
即:序列 是 到 的一个排列。
对于序列 的操作只有一种:对于一个数 ,你可以使其与 或 交换位置(如果它们存在的话)。
现在请你使序列 变为一个升序序列,并按顺序输出你进行的操作。
输入格式
输入数据共 行。
第 行, 个正整数,。
第 行, 个正整数, 。
输出格式
输出数据共 行, 表示你的操作次数。
第 ~ 行,每行两个整数, , ,表示交换 和 的位置 。
3
3 1 2
1 3
1 2
7
1 3 2 7 6 4 5
2 4
1 2
1 3
3 7
2 5
1 2
1 3
3 6
1 2
2 5
1 3
1 2
2 4
1 2
1 3
1 2
提示
【样例说明】
样例#1说明:
交换 和 ,序列变为:。
再交换 和 ,序列变为:。
【数据范围】
对于 的数据,。
对于 的数据,,。
【提示】
- 使用 Special Judge。
- 最多进行 次操作。
- 样例的输出数据只是众多方案中的一种。
- 因为是
special judge
,因此不提供附加样例。
【文件读入读出】(模拟,提交代码时不需使用)
- 文件名:
sequence.cpp
- 读入文件名:
sequence.in
- 读出文件名:
sequence.out