#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define maxn 55
using namespace std;
int ca,n,sum,a[maxn];
void mov(int r, int l, int max)
{
for(int i=r;i<l-1;i++)
a[i]=a[i+1];
a[l-1]=max;
sum+=l-1-r;
}
int main()
{
cin>>ca;
while(ca--)
{
cin>>n;sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
}int max,r;
for(int j=0;j<n;j++)
{
max=0;r=0;
for(int k=0;k<n-j;k++)
{
if(max<a[k]){max=a[k];r=k;}
}
mov(r,n-j,max);
}
cout<<"Optimal train swapping takes "<<sum<<" swaps."<<endl;
}
}
uva-299
最新推荐文章于 2016-07-15 20:58:54 发布