交换位置
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
描述
有N枚硬币,编号为1~N,按照1~N排列。某天,调皮的小邹打乱了硬币的顺序,现在请你帮忙,至少需要交换几次可以使硬币的排列顺序恢复到1~N。每次交换指的是拿起两枚硬币,然后交换他们的位置。比如有5个硬币:2 1 3 5 4 ,每次拿起2个硬币,交换它们的位置,对于这么简单的情况,显然,至少需要交换2次(1与2交换,5与4交换)就可以复位。
格式
输入格式为两行:
第一行: 一个正整数N(N<10000), 表示硬币的数目
第二行:N个正整数,用空格分开,表示硬币被打乱后的排列顺序。
输出数据为一行一个正整数,表示至少交换多少次,才能完成排序。
样例
输入样例1
5
3 1 2 5 4
输出样例1
3
输入样例2
5
5 4 3 2 1
输出样例2
2
约定
内存消耗 < 256M
用时 < 1s
提示
此题测试数据规模较小,暴力法也能过哦
南京师范大学中北学院国庆节程序设计比赛
- 状态
- 已结束
- 规则
- ACM/ICPC
- 题目
- 8
- 开始于
- 2020-10-03 18:00
- 结束于
- 2020-10-04 22:00
- 持续时间
- 28.0 小时
- 主持人
- 参赛人数
- 23