pku1674 Sorting by Swapping
2010-03-02 17:31
441 查看
题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1674
题意简述:给定序列,求用交换排序将其排成上升序列所用的交换次数。
解题思路:首先判断第一个位置的数,是否为1,否则swap(a[i],a[a[i]])直到第一个数为1,以此类推,后面同。(不会证明,当时tle后,第一反映就是这种算法。水过。。。)
代码:
题意简述:给定序列,求用交换排序将其排成上升序列所用的交换次数。
解题思路:首先判断第一个位置的数,是否为1,否则swap(a[i],a[a[i]])直到第一个数为1,以此类推,后面同。(不会证明,当时tle后,第一反映就是这种算法。水过。。。)
代码:
#include<stdio.h> #include<iostream> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int n; int a[10001]; scanf("%d",&n); for(int i=1;i<=n;++i) scanf("%d",&a[i]); int ans=0; for(int i=1;i<=n;++i) while(a[i]!=i) { ans++; swap(a[i],a[a[i]]); } printf("%d/n",ans); } return 0; }
相关文章推荐
- pku1674 Sorting by Swapping
- pku_1674 Sorting by Swapping 解题报告
- pku 1674 Sorting by Swapping
- [数学题] Sorting by Swapping pku 1674
- PKU 1674 Sorting by Swapping
- poj 1674 Sorting by Swapping
- [POJ 1674] Sorting by Swapping
- POJ 1674 Sorting by Swapping(需…
- poj 1674 Sorting by Swapping
- poj 1674 Sorting by Swapping
- poj 1674 Sorting by Swapping 置换群
- POJ-1674 Sorting by Swapping 置换群
- poj 1674 Sorting by Swapping(数字置换环)
- POJ 1674 Sorting by Swapping 笔记
- poj 1674 Sorting by Swapping
- Sorting by Swapping
- Sorting by Swapping
- Python sorting list of dictionaries by multiple keys
- Internal Sorting: Heapsort-1: Sorting by Selection
- Internal Sorting: Binary insertion: Sorting by Insertion