andy6804tw
8/3/2016 - 1:43 AM

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=15734 這題建兩個二維陣列做模擬洗牌

import java.util.*;

public class Main {

	public static void main(String[] args) {
		Scanner scn = new Scanner(System.in);
		int n=scn.nextInt();
		while(n--!=0){
			int arr[]=new int [52],arr2[]=new int [52],num=scn.nextInt(),rand;
			for(int i=0;i<52;i++)
				arr[i]=i+1;
			for(int i=0;i<num;i++){
				rand=scn.nextInt()-1;
				int count=0;
				while(true){
					if(rand==52)
						rand=0;
					arr2[count++]=arr[rand++];
					if(count==52)
						break;
				}
				for(int j=0;j<52;j++)
					arr[j]=arr2[j];
			}
				System.out.println(arr2[51]);
			
		}
	}
	/* 
    題目:2016 闖關組 [Problem B2] Simple Card Shuffling簡易洗牌法
    作者:1010
    時間:西元 2016 年 8 月 */
}