#include <iostream>
#include <memory.h>
#include <algorithm>
using namespace std;
int num[10010];
int main()
{
int tc, n, i, j, ans;
cin >> tc;
while (tc--){
cin >> n;
ans = 0;
memset(num, 0, sizeof(num));
for (i = 1; i <= n; i++){
cin >> num[i];
}
//暴力解决:如果顺序相同就继续查找,否则就找出属于这个下标位置上的这个数,再交换位置!
for (i = 1; i <= n; i++){
if (num[i] == i) continue;
for (j = i+1; j <= n; j++){
if (num[j] == i){
swap(num[i], num[j]);
ans++;
break;
}
}
}
cout << ans << endl;
}
system("pause");
}
/*
20
3
1 2 3
5
2 3 5 4 1
6
6 5 2 3 1 4
5
5 4 3 2 1
1
2
2
2 1
*/
poj 1674 Sorting by Swapping
最新推荐文章于 2022-02-12 21:55:34 发布