题目来源:车厢重组 - 洛谷
解题思路:这道题的数据较小,可以使用冒泡排序实现,相当于排序交换的每一步都是旋转次数。最后把旋转次数输出即可。
#include<iostream>
#include<algorithm>
using namespace std;
#define maxn 10010
int a[maxn], n;
int main()
{
cin >> n;
int cot = 0;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
for (int i = 0; i < n - 1; i++) //冒泡排序
{
for (int j = 0; j < n - 1 - i; j++)
{
if (a[j] > a[j + 1]) {//交换
int p = a[j];
a[j] = a[j + 1];
a[j + 1] = p;
cot++;
}
}
}
cout << cot << endl;
return 0;
}