Life Will Change
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给定一个长度为 的排列 ,一次操作可以交换排列中的两个元素 和 ,其中 。
你的任务是在不超过 次操作内,将排列变成升序排列 。你需要输出一种操作方案。
输入格式
第一行包含一个整数 ,表示排列的长度 ()。
第二行包含 个整数 ,表示给定的排列。保证每个整数 出现且只出现一次。
输出格式
第一行输出一个整数 ,表示方案所需的操作次数。
接下来的 行,每行包含两个整数 和 ,表示交换 和 的操作 ()。
样例 #1
样例输入 #1
5
3 4 1 5 2
样例输出 #1
3
1 3
2 4
5 2
提示
对于所有输入,。输出可以有多种方案,只需要输出任意一种满足条件的方案即可。
为处理大量输入输出,可以在 C++ 中使用更快的 I/O 方式。
在 C++ 中,可以在 main 函数的开头添加以下代码:
ios::sync_with_stdio(false);
cin.tie(nullptr);
这将通过关闭 C++ 和 C 标准输入输出流的同步,并使 cin 和 cout 解绑,使 cin 独立运行,从而加快输入输出的速度。
2024 NUAAXCPC Freshman Contest
- 状态
- 已结束
- 规则
- XCPC
- 题目
- 13
- 开始于
- 2024-11-23 13:00
- 结束于
- 2024-11-23 17:00
- 持续时间
- 4 小时
- 主持人
- 参赛人数
- 123