/*
* UVA_299.cpp
*
* Created on: 2013年11月3日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 55;
int main() {
int a[maxn];
int t;
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
int i;
for (i = 0; i < n; ++i) {
scanf("%d", &a[i]);
}
int j;
int ans = 0;
for(i = 0 ; i < n ; ++i){//冒泡排序
for(j = i+1; j < n ; ++j){
if(a[i] > a[j]){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
ans++;//逆序对数+1
}
}
}
printf("Optimal train swapping takes %d swaps.\n", ans);
}
return 0;
}
(排序算法的应用7.3.8)UVA 299 Train Swapping(使用冒泡排序来计算逆序对数)
最新推荐文章于 2025-03-27 15:42:08 发布
本文提供了一个解决UVA 299问题的C++实现方案,该方案使用了冒泡排序算法来计算最优列车交换次数。通过输入一组列车顺序,程序能够输出达到最优顺序所需的最少交换次数。
1280

被折叠的 条评论
为什么被折叠?



