andy6804tw
9/28/2017 - 1:35 PM

Q299: Train Swapping

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=235

106.09.26 CPE第二題 這題就用你喜歡的排序法實作並用一個count計算交換次數就行囉!

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scn = new Scanner(System.in);
		int t = scn.nextInt();
		while(t--!=0) {
			int n=scn.nextInt(),arr[]=new int [n],count=0;
			for(int i=0;i<n;i++){
				arr[i]=scn.nextInt();
			}
			//泡沫排序
			for(int i=0;i<n-1;i++) {
				for(int j=i+1;j<n;j++){
					if(arr[i]>arr[j]) {
						int temp=arr[i];
						arr[i]=arr[j];
						arr[j]=temp;
						count++;
					}
				}
			}
			System.out.printf("Optimal train swapping takes %d swaps.\n",count);
		}
	}
/*題目:Q299: Train Swapping
    作者:1010
    時間:西元 2017 年9 月 */
}