说白了就是写个冒泡排序。。。。
/*************************************************************************
> File Name: 299.cpp
> Author: ma6174
> Mail: ma6174@163.com
> Created Time: 2015年10月21日 星期三 22时48分20秒
************************************************************************/
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
#include<iostream>
using namespace std;
#define maxn 10050
int con[5010];
int main(){
int T;
int sum[5010];
scanf("%d",&T);
memset(sum,0,sizeof(sum));
int n=0,t;
while(T--){
sum;
scanf("%d",&t);
for(int i=0;i<t;i++){
scanf("%d",&con[i]);
}
int temp=con[0];
for(int i=0;i<t;i++){
for(int j=0;j<t-i-1;j++){
if(con[j]>con[j+1]){
swap(con[j],con[j+1]);sum[n]++;
}
}
}
n++;
}
for(int i=0;i<n;i++){
printf("Optimal train swapping takes %d swaps.\n",sum[i]);
}
return 0;
}