Facebook Google Plus YouTube

UVa Problem (Train Swapping) 299:
Train Swapping is a basic problem on UVa online judge for novice problem solver.
You can find details on this Link.

import java.util.Scanner;

/**
 * @Author : Muhammad Harun-Or-Roshid
 * @Date : Oct 6, 2016
 * @Time : 9:24:33 PM
 */
public class UVa299 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int testCase = sc.nextInt();
        for (int i = 0; i < testCase; i++) {
            int inputLines = sc.nextInt();
            if (inputLines >= 0 && inputLines <= 50) {
                int inputArrays[] = new int[inputLines];
                for (int j = 0; j < inputLines; j++) {
                    inputArrays[j] = sc.nextInt();
                }
                int swipTimes = 0;
                for (int l = 0; l < inputArrays.length; l++) {
                    for (int k = 0; k < inputArrays.length - 1; k++) {
                        int a = inputArrays[k];
                        int b = inputArrays[k + 1];
                        if (a > b) {
                            inputArrays[k] = b;
                            inputArrays[k + 1] = a;
                            swipTimes++;
                        }
                    }
                }
                System.out.printf("Optimal train swapping takes %d swaps.\n", swipTimes);
            }
        }
    }
}

Leave a Reply

%d bloggers like this: