299 - Train Swapping
299
Accepted
UVA Problem: 299 - Train Swapping
Time Limit: 3.00 Seconds
Program Language: C++
Publisher: http://www.uvaonlinejudge.org
Time Limit: 3.00 Seconds
Program Language: C++
Publisher: http://www.uvaonlinejudge.org
♣ Try it Out ::
#include<iostream> #include<cstdio> #include<cstdlib> #define FOR(i,n) for(int i=0; i<n; i++) using namespace std; int InsertionSort(int[], int); int main() { //freopen("299.in", "r", stdin); int N, Len; cin>>N; FOR(i,N) { cin>>Len; int Arr[Len]; FOR(j,Len) cin>>Arr[j]; cout<<"Optimal train swapping takes "<<InsertionSort(Arr,Len)<<" swaps."<<endl; } return 0; } int InsertionSort(int A[], int len) { int i, j, key, swaps = 0; for(j = 1; j <= len-1; j++) { key = A[j]; i = j - 1; while(i >= 0 && A[i] > key) { A[i+1] = A[i]; i--, swaps++; } A[i+1] = key; } return swaps; }
♣ Source Codes ::